• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Capturing current handler name in a string variable
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Capturing current handler name in a string variable


  • Subject: Re: Capturing current handler name in a string variable
  • From: billp <email@hidden>
  • Date: Tue, 25 Dec 2001 21:19:10 -0600

Sander,

I was rather hoping applescript would have a command to capture the
current
handler name that would be more portable. For example, the command below:

>(* your handler: *)
>on BeepBeep(myString, theButton, icon_number, n)
> -- set this handler's name to a variable
> set myName to "BeepBeep"

which requires me to type the name of the handler myself as a string,
cannot ITSELF become a handler - it needs to be embedded into every
single
handler that I want to give its capabilities to...

...it would be cool if the last line COULD be expressed something like:

> set myName to name of me as string

... which does compile, by the way, but produces the following error:

"can't make name of <<script>> into a string."

...which I guess means that given there may be a number of handlers in
the file
at the same time, it wouldn't know which "Me" it was referring to...

Oh well, thanks for trying!

Bill

>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>At 19:02 -0600 UTC, on 24-12-2001, billp wrote:
>
>> [...] is it
>> possible in AppleScript to capture the name of a particular handler or
>> object being referenced at a given time and set it as a string to a
>> variable?
>
>Might something along these lines be useful?
>
>(* beware of line breaks! *)
>
>(* set your variables as before *)
>set {theString, theResponse, theIcon, theCount} to {"Let's beep.", "Yeah,
>let's.", 1, 2}
>
>(* call your handler and catch its result *)
>copy my BeepBeep(theString, theResponse, theIcon, theCount) to {HandlerName,
>itsArguments}
>
>(* log your handler's name, and the parameters it received *)
>my logHandler(HandlerName, itsArguments)
>
>(* your handler: *)
>on BeepBeep(myString, theButton, icon_number, n)
> -- set this handler's name to a variable
> set myName to "BeepBeep"
>
> --handler does its stuff
> display dialog myString buttons {"Cancel", theButton} default button 2 with
>icon icon_number
> beep n
>
> -- return this handler's name and the arguments it received
> return {myName, {myString, theButton, icon_number, n}}
>end BeepBeep
>
>
>on logHandler(HandlerName, itsArguments)
> -- do stuff. Like write to file, or display a dialog:
>
> -- coerce arguments to nicer format
> set niceArguments to ""
> repeat with i in itsArguments
> if (class of i = string) or (class of i = text) then
> set i to "\"" & i & "\""
> end if
> set theItem to i & ", "
> set niceArguments to niceArguments & theItem
> end repeat
> set niceArguments to characters 1 thru -3 of niceArguments
>
> display dialog "Handler \"" & HandlerName & "\" was called with these
>parameters: " & (niceArguments as string)
>end logHandler
>
>
>-----BEGIN PGP SIGNATURE-----
>Version: PGPfreeware 7.0.3 for non-commercial use <http://www.pgp.com>
>
>iQA/AwUBPCivkusywKfXgqKdEQKslACgh5ct2w19rwsvkEHWuKVsUAKfg8wAoLpe
>LSSU3vTA9wgIrqmtuJVBhYnW
>=JAPu
>-----END PGP SIGNATURE-----
>--
>Sander Tekelenburg
>_______________________________________________
>applescript-users mailing list | email@hidden
>Help/Unsubscribe/Archives:
>http://www.lists.apple.com/mailman/listinfo/applescript-users
>Do not post admin requests to the list. They will be ignored.


  • Prev by Date: Re: bug or feature?
  • Next by Date: Re: For want of a better ASS reference
  • Previous by thread: Re: Capturing current handler name in a string variable
  • Next by thread: Re: Capturing current handler name in a string variable
  • Index(es):
    • Date
    • Thread