We make software for humans. Custom Mac, Windows, iOS and Android solutions in HyperCard, MetaCard, and RunRev LiveCode
HC Tips and Tricks
You can add an Apple Guides to your HyperCard stack by using the following method. (1) Create an Apple Guide using the Apple Guide Start Kit (Danny Goodman -- comes with his book) or see the AppleGuide FAQ at http://rampages.onramp.net/~stepup/ag_faq/agfaq.html for additional programs. (2) Add a script to a button, set scripting language to AppleScript, put this script into it: on mouseUp AGStart tell application "Apple Guide" Open Database "Macintosh HD:HyperCard 2.4 B9:myguidename" end tell end mouseUp Using this method the full path to the guide needs to be stated. If you install the guide in the into the Extensions folder you may simply put the name of the Guide, vis: Open Database "myguidename" Ideally the Guide would appear under the Help menu (which under System 8 is not a hypercard menu). I don't know how this could be done. Note: if you are creating a standalone, you don't need to use the above method (although you can if you wish), instead you may create a guide which will appear in the usual way under the help menu.
Rodney Tamblyn
ETSS, University of Otago
Applevent handlers, like external windows, can be baffling because they give no error dialog when calling a faulty script -- the script simply gives up. One way to get some feedback is to insert the following handler in the stack script: on errordialog a answer a end errordialog This will at least report the nature of the error.
Roger Lainson
SDR Clinical Technology
The first time hypercard establishes a link with a target program, it presents a login dialog asking for the user's name and password. One way around this is to use the two AppleScript scripting additions "login as" and "logout" from the GTQ 1.2 library to avoid the dialog. They're hacks that will break at some point, but they've been working well and continue to do so in Mac OS 8. You can get the GTQ at: ftp://mirror.apple.com//mirrors/Info-Mac.Archive//dev/gtq-scripting-lib-12-as.hqx
There's a known problem with HyperCard 2.3 that prevents Button Tasks from appearing on Macintoshes with PowerPC microprocessors if the AppleScriptLib file is not present. If this is the case in your lab, installing AppleScript on each of the machines should make the problem go away. You don't need the full AppleScript implementation for Button Tasks to work; if you want, you can remove all of it except for AppleScriptLib.
Kevin Calhoun
Apple Computer, Inc.
You don't actually need AppleScript to use the 'activate' command in HyperCard. Although it's not documented, 'activate' is also a HyperTalk command, starting with HyperCard 2.2. Try this: on mouseUp doMenu "Finder" wait 2 seconds activate end mouseUp
Kevin Calhoun
Apple Computer, Inc.
You can store compiled AppleScripts which are less than 32K in size in any Hypercard (2.2 & 2.3) object. That's the size of the compiled AppleScript, which is larger than simply the text. You can't really tell how much larger, and this size includes all the property data. The compiled AppleScript is being stored in the HyperTalk script field, and since that is limited to 32K, so are the AppleScripts. My rough tests indicate that a 7K script can easily create a 32K compiled object. So, what are your options in the face of this awful limitation? 1) Write short AppleScripts. Simple, but not very practical. 2) Store AppleScripts in a bunch of buttons or fields on a card and have a HyperTalk dispatcher in the stack, background or card resend the messages to the buttons or fields. Complex but workable. 3) Store the AppleScripts in resources and use Jon's Commands (a scripting addition) "run script resource" command to only have little wrapper routines in your stack. Complex and requires special installation and mucking with resources. An advantage is that you can store the scripts "run only" which makes them smaller and no longer decompilable. 4) Store the AppleScripts as text and compile them as needed with the "do" command. Complex and slow.