"set the externals" question

Jim Bufalini jim at visitrieve.com
Fri May 8 00:56:32 EDT 2009


Hi Richard,

> I did my additional testing with this. For whatever reason, the process
> works fine on XP but not Vista. Identical code on both units. One
> works;
> one doesn't. Any thoughts?

I can tell you the simple process of setting the externals in one stack,
which is then put in use either from itself or by another stack works on all
platforms, including Vista. I have used it on libs for a long time on all
platforms and in standalones and IDE.

I even have a case of an invisible main stack whose sole purpose is to set
the externals to a single, third party DLL (obviously this one is just XP
and Vista) and this stack puts itself in use and is periodically opened and
closed by other stacks, because the only way in Rev to release a DLL, in
Windows memory, is for the stack that has it as an external to close and
itself exit from memory.

> I have a standalone... that opens an initial stack... which in turn
> opens an invisible substack (which remains open). In that substack, the
> preopenstack handler uses "set the externals of this stack to
> revvideograbber.dll". The initial stack (not the standalone... which is
> only the startup engine for this program) contains the main navigation
> menu. The user then navigates from this initial stack to the video
> recording stack, which when it first opens, has a preopenstack handler
> containing "start using" (the invisible stack).

First, it sounds a bit convoluted. ;-) 

Also, you are putting a substack in use? I believe in this case, the "start
using" command of the substack should be in the preOpenStack of the main
stack of the substack. This is exactly what ListMagic does and as everyone
knows it works on all platforms.

When you open a main stack, its substacks are automatically opened. So what
do you mean you open the substack? and "it" remains open? If "it" remains
open, then so must its main stack.

Can I suggest you break out this substack into a main stack. It should have
its externals already set. It should have its preOpenStack set to how I
suggested, where it puts itself in use. Before you need to use its
externals, go invisible to the stack. If you want to close those externals,
just close the stack.

In Rev, the primary differences you run into between XP and Vista have
usually to do with graphics, window and menu levels (as in a window or menu
showing up behind another window in Vista, when on XP it shows up in front)
and, the biggie, user rights and security where access is denied on Vista
and XP doesn't care.

Aloha from Hawaii,

Jim Bufalini

> 
> Thanks.
> Richard
> 
> 
> Richard Miller wrote:
> > Thanks Jim and Thierry,
> >
> > Seems to be working. I've got a bit more testing to do, but so far,
> so
> > good.
> >
> > Richard
> >
> >
> > Jim Bufalini wrote:
> >> Hi Richard,
> >>
> >> Have one stack that sets the externals. Then *start using* that
> stack
> >> from
> >> anywhere (the preOpenStack of your standalone is fine). This makes
> >> available
> >> the externals of that stack to other open stacks.
> >>
> >> Aloha from Hawaii,
> >>
> >> Jim Bufalini
> >>
> >>
> >>> I have a standalone, which opens several other stacks. Is there a
> way
> >>> to
> >>> have any of these other stacks access an external WITHOUT having to
> >>> "set
> >>> the externals" of the standalone?
> >>>
> >>> It's much easier for me if I need only modify one of the stacks.
> I'd
> >>> like to avoid modifying the standalone.
> >>>
> >>> I've tried:
> >>>
> >>> 1. using the "set the externals" command in the preopenstack
> handler in
> >>> one of the stacks (i.e. not the standalone app), but this didn't
> work
> >>> during runtime;
> >>>
> >>> 2. setting the externals of one of the stacks in the development
> >>> environment (so I can see that the external is being referenced in
> the
> >>> stack property inspector). This didn't work during runtime.
> >>>
> >>> I'm testing this under Windows, but any solution would need to work
> on
> >>> a
> >>> Mac as well. It's the videograbber.dll (in the Rev Externals
> folder)
> >>> that I'm trying to access during runtime.
> >>>
> >>> Thanks.
> >>> Richard Miller
> >>>
> >>> _______________________________________________
> >>> use-revolution mailing list
> >>> use-revolution at lists.runrev.com
> >>> Please visit this url to subscribe, unsubscribe and manage your
> >>> subscription preferences:
> >>> http://lists.runrev.com/mailman/listinfo/use-revolution
> >>>
> >>
> >> _______________________________________________
> >> use-revolution mailing list
> >> use-revolution at lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-revolution
> >>
> >>
> >
> > _______________________________________________
> > use-revolution mailing list
> > use-revolution at lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-revolution
> >
> 
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution




More information about the use-livecode mailing list