I can get the standalone app to reply to the first appleevent but then after that it is deaf.
But, if I uncomment the two "answer" lines, this application will reply to all the appleevents sent to it.
Second weirdness is that the on appleEvent takes the script to a library stack and for this to work at all, I have to actively go back to the one single card in my standalone application, interact with the buttons and fields, and then go back to whatever stack I got diverted to when processing the appleEvent. To my mind that is completely weird behavior. But if I do not do it, this stack doesn't even work the first time.
Oh yes, the docs say that "on appleEvent" can be in a card script but doing that causes it to not catch a "misc" class wth a "dosc" ID appleevent.
Here's the stack script:
on preOpenStack
-- I put the name of the standalone into a global so that I can get back to this standalone stack
-- when processing an AppleEvent to do the tasks.
global thisStackName
start using "revSOAP"
put the name of this stack into thisStackName
end preOpenStack
on appleEvent theClass,theID -- execute a set of statements
global thisStackName
-- When I uncomment this answer line, and the other one below, it works more than once
-- answer theClass && theID
if theClass is "misc" and theID is "dosc" then
request appleEvent data -- get the content of the AppleEvent
put it into thedata
-- the other answer line that gets uncommented
-- answer thedata with "thedata"
push card
-- OK this is strange. I'm in this stack script but in actual fact, I'm in some runrev library when
-- I'm at this point in the script and unless I actively go back to the stack where this script
-- is located, I cannot interact with the fields or buttons of this standalone. So this
-- push and pop moves me back to where I would normally think I was.
go to stack thisStackName
-- this line executes the first time through and then after that, thedata never makes it into the field
-- uncomment the "answer" lines and this line executes as do the remaining lines
put thedata into field "theSQL"
-- doSQL takes the SQL and sends it to the database and then puts the results into the soapResult field
send doSQL to button "execute SQL"
put field "soapResult" into theResult
-- Since I'm in this stack, and for some reason RunRev wants me to be in another stack, I pop back
-- to the library where I am supposed to be. That's the theory at least.
pop card
-- I format the text for a Mac.
replace return with numtochar(13) in theResult-- this sends the data back to the application that sent the appleEvent.
reply theResult
else
-- it is my understanding that if I do not "reply" then I must "pass AppleEvent"
-- it is also my understanding that if I do "reply" I do not "pass appleEvent"
pass appleEvent
end if
end appleEvent
So why is this not working? Any ideas? Thanks in advance. Kee Nethery
_______________________________________________ use-revolution mailing list [email protected] http://lists.runrev.com/mailman/listinfo/use-revolution
