installing valentina xcmd
J. Landman Gay
jacque at hyperactivesw.com
Mon Jun 16 14:49:00 EDT 2003
On 6/16/03 5:03 PM, Yennie at aol.com wrote:
> I don't know if this will make a difference, but you could try changing the
> path to:
>
> ./myExternal.bundle
>
> It really shouldn't make a difference, but that's what I've used before.
> You can also bury it in a relative folder such as:
>
> ./externals/myExternal.bundle
Help me with this. The external that isn't working consistently is
"revXML.bundle". The path to my standalone is:
/HD/Folder/myApp.app
The path to the actual engine in the app is:
/HD/Folder/myApp.app/Contents/MacOS/
Which of these folders does "./revXML.bundle" point to? Right now the
external is placed in the first path (to the app bundle.) It works okay
that way for me, it doesn't work for the client.
The source of my confusion: when we get "the filename of this stack" in
an OS X standalone, what is returned is the second path, the one that
points to the MacOS folder. Apparently externals account automatically
for the OS X bundle structure, assuming a relative path to the app
bundle, whereas "the filename" does not. Is that correct?
> Finally, one last technique. Create an external "library" stack, set the
> externals property of that stack, and "start using" the library stack. This gives
> you finer control of when the external is actually loaded. It's also nice
> because you can still make changes to the library stack without rebuilding the
> standalone, including wrappers to external calls, etc.
Thanks, that's a neat idea. It isn't practical for this project, but
I'll keep it in mind.
> When the external isn't working, what do you find when you query the
> "externalFunctions" property? Do you get "Valentina" in the list?
With the stack version, I get nothing; the result is empty. The
externalCommands also returns empty. Checking the externals property
returns "revXML.bundle". I'll need to create a debugging version of the
standalone and send it off to the client to see what he gets there.
> Also, is there any way you could be changing the current directory before the
> external is loaded (which I think is impossible unless you use "start using",
> but alas...)? Reason I ask is because the external property is a relative
> path. You might try outputting the current directory when the external is not
> working, and see if it is something other than the path to the application.
Good idea, I'll put this into my test standalone too. But this does
explain the variability I'm getting in my stack copy. I was changing the
directory sometimes before opening the stack itself. So that part of the
mystery is partially solved, but there are still two questions:
1. When running the stack: I thought that externals always loaded from a
path relative to the engine, not a path relative to the stack. However,
there is a copy of revXML.bundle stuck in the same folder with the
engine and it doesn't load if I've changed the directory, so that must
not be right. On the other hand, if I specifically set the directory to
that of my stack, and in that directory there also exists a copy of
"revXML.bundle", and then I open the stack, the external still does not
load. So it must involve more than just a relative path to the stack. It
seems that it will only work if the directory is set to the same folder
as the engine, and the externals path is relative to that. Does that
sound right?
2. When running the standalone application: if I understand it right,
the directory can not be changed, because the external will load
immediately when the application (and therefore the mainstack) opens. My
standalone puts no other stacks in use and has no scripts that change
the directory until after the standalone is open (it does change the
directory in an opencard handler, but the external should have loaded by
then, right?) Also, the standalone works fine on my machine, but not on
the client's machine, where it is installed into an identical folder
structure (which is pretty much what has me stumped.) So, when exactly
does the external load? On openstack? Preopenstack? After all pending
handlers are done?
Also, do you know of any third-party stuff or background processes that
might interfere with having the external load? That's the only thing I
can think of that might be different between my machine and the client's.
>
> Hope something there helps!
Well, I think we're getting closer, at any rate. I appreciate your
response.
--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode
mailing list