Monday, November 08, 2010 at 12:02 AM.
system.verbs.builtins.export.sendOSAScript
on sendOSAScript (adr, fname) { <<create a script that can be double-clicked in the Finder <<the contents of an OSA script: <<a 'STR ' resource: <<130 -- the object db address of the script that was exported <<one 'scpt' resource: <<the script that's run when the file is double-clicked on <<see Frontier.clickers.typeosas for the other side of this script if not defined (adr^) { <<can't export something that doesn't exist scriptError ("Can't export because there's no object named " + adr + ".")}; bundle { <<create the file, save the packed script local (resdata); local (type = typeOf (adr^)); file.new (fname); file.setType (fname, 'osas'); file.setCreator (fname, 'ToyS'); osa.compile (adr, false, @resdata); rez.putresource (fname, 'scpt', 128, @resdata); rez.putstringresource (fname, 130, adr)}; <<address of object is a STR resource return (true)}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.