tell application "Grog"
launch
glog("xxx")
end tell
A second execution while Grog is still running apparently does
nothing. This works exactly as I was looking for!
I've just noticed something while taking my own advice ... and it's
not perfect.
'someHandler' is a handler in the application 'fullPathName' whose
result I wanted, so I wrote in my script ...
launch application fullPathName
tell application fullPathName to set x to someHandler()
It did work correctly, but has an unfortunate side-effect. The icon
of 'fullPathName' appears in the Dock for just a second or two
whenever I make this call. I find this distracting. Very distracting.
One work-around is to make 'fullPathName' a background-only
application. (I may do this.) Otherwise, you seem to be stuck with
this distraction.