Since a stack that is in use is available to all other stacks (it's
script has been inserted into back), maybe it would be better simply
for any stack that needs to use the libStack to'register' and
'deregister' with the libStack, which can then put itself in and out
of use as necessary.
in a client stack, for example
on openStack
put the long name of me into myName
send "libStackregister myName" to stack "/Users/Dave/Desktop/
TestLib/Lib.rev"
pass openStack
end openStack
on closeStack
put the long name of me into myName
send "libStackDeregister myName" to stack "/Users/Dave/Desktop/
TestLib/Lib.rev"
pass closeStack
in the libStack
and in the libStack
on libStackRegister tClient
set the clients of me to the clients of me & cr & tClient
start using me
end libStackRegister
on libStackDeregister tClient
put the clients of me into cList
get lineOffset(tClient,cList)
if it > 0 then delete line it of cList
set the clients of me to cList
if the clients of me is empty then stop using me
end libStackDregister
Mark
On 27 Mar 2006, at 12:53, David Burgun wrote:
On 27 Mar 2006, at 11:43, Mark Smith wrote:
The target of the 'start using' <is> stack TestLib, no?
I'm not sure and a bit confused! But from just experimenting with
Target a bit more, yes, you are right.
Yes, that seems like another way to do it.
I would like to scan the script(s) of the stack that just did the
"start using" and was hoping that I could do it without an
additional call to the library, since it's a bit error prone and
it's better practice anyway to do it in the "libraryStack" hanlder.
I could also use a Global and clear it after use, as in:
global gISMStackName
on libraryStack
if gISMStackName = empty then
stop using "/Users/Dave/Desktop/TestLib/Lib.rev"
throw " gISMStackName not set"
exit libraryStack
end if
put "libraryStack" & cr after field 1 of me
put gISMStackName after field 1 of me
put cr & cr after field 1 of me
select after field 1 of me
put empty into gISMStackName
end libraryStack
Then in the stack that does the "start using" do this:
global gISMStackName
on mouseUp
local myError
put the long name of this stack into gISMStackName
-- put empty into gISMStackName --Uncomment to test the
"try"
try
start using "/Users/Dave/Desktop/TestLib/Lib.rev"
catch myError
answer myError
end try
end mouseUp
I'd have to do something similar in the releaseStack handler too.
Not sure what the best way to do this is? What do you think?
All the Best
Dave
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution