Q: My friend just gave me a stack and there’s a neat icon in it I would like to move to one of my stacks. How can I move it there?
A: If you’re handy with ResEdit, you can use that to move the icon into your own stack. An easier method is to use ResCopy, and XCMD available on many on-line services and from user groups. And finally, for those of you with neither of the above, choose the Button tool while inside the stack with the neat icon. Click on the button with the neat icon, and select “Copy Button” from the Edit menu. Go to the stack where you’d like to install the button, and select “Paste Button” from the Edit menu. The icon resource will be moved along with the button.
Q: If I select some text in a field and then click a button, the selection goes away. What can I do?
A: You can turn off the autohiliting in the button. (Choose the Button tool and double click on the button. In the dialog that opens up, uncheck the “Autohilite” box.) The Human Interface Guidelines state that only one item (text, a button, etc.) can be hilited at a time.
Q: How can I stop a user from pressing Command-Period during one of my scripts?
A: You can’t. But if your script involves hiding and showing buttons and fields, here’s a way you can make sure the stack is returned to normal in the event a user presses Command-Period during the process: at the start of the script, put “set the cantModify of this stack to true”. Also, in your idle handler, add the line “set the cantModify of this stack to false”. That way, if the user cancels during the hiding and showing, the stack will revert to the way it was before the user initiated the action.
Q: I downloaded a stack and when I click on some of the buttons, I get the message “Can’t understand what’s after "lock"” or “Can't understand what's after "find"”. How can I fix it?
A: You’re using an older version of HyperCard. You’ll need to obtain version 1.2.2 (the latest version) in order to run the stack.
A: If you already own HyperCard, you may bring some proof of purchase (either the original floppy disks or a sales receipt dated after August 1987) to your local authorized Apple dealer, along with some blank floppies, and he’ll give it to you. Bear in mind that some dealers charge for the upgrade. You may also obtain the latest version from a local user group that has authorization from Apple to distribute HyperCard.
Q: Okay, I have the latest version of HyperCard. Now where do I find some stacks to use with it?
A: There are three good ways to get thousands and thousands of stacks. On-line services such as CompuServe, Delphi, America On-Line, and MacNet have libraries of stacks for downloading. In order to obtain these stacks, you’ll need an account on one of the services, a modem, and a communications program (Red Ryder is an example; some services provide specialized software that has been customized to make it easier and faster to use the service). Local Macintosh BBSs (Bulletin Board Systems) are also good sources for stacks. Don’t have a modem? Then check with your local Mac user group, as most have a vast array of stacks. Some large user groups, such as BMUG in Berkeley, will provide you with disks full of public domain and shareware stacks for the cost of the diskette. And finally, there’re several mail order companies that sell disks full of stacks, for the cost of the diskette and shipping and handling.
Q: Frequently, when I attempt to paint on a card, I get the message “Not enough memory to use paint tools.” What should I do?
A: There are several things you can do to free up some memory in order that you can access the paint tools; depending on your system configuration, any and all of these tips might help:
1. Turn off memory-hungry INITs and cdevs. SoundMaster can take up a huge amount of memory if you are using large sound files. ColorDesk is another cdev that can take up a large amount of RAM. After turning off or moving INITs and cdevs out of the System folder, reboot your machine; you should find that you have more memory now in which to work.
2. Run under Finder instead of MultiFinder.
3. Turn off the RAM cache via the Control Panel; HyperCard doesn’t use it anyway. At the least, lessen the amount of the RAM cache.
4. Allocate more memory to HyperCard via the Finder: click on the HyperCard application (while it’s not running), select “Get Info” from the File menu, and increase the amount of the application memory size. The absolute minimum is 750K; if you’re having memory problems, try increasing the amount by 256K increments until you are able to use the paint tools.
5. Remember to put “empty” into large variables when you’re done with them. This is more important for users with 1 megabyte of RAM. Also bear in mind that you needn’t use many variables when one will do: rather than using variables called name, sex, and age, you can put all four into one variable like this:
put "Bob Jones" into line 1 of singleVariable
put "Male" into line 2 of singleVariable
put "04/13/63" into line 3 of singleVariable
You can then reference an item in the variable by referring to "line 2 of singleVariable".
6. Install more RAM in your system (if you do this, you can probably skip all of the above steps.)
Q: Whenever I try to launch an application or another stack from inside HyperCard, I get the standard file dialog asking questions like “Where is "My Hard Disk:Applications:Excel”?
A: These one crops up all the time; even the best scripters suffer from the problem now and then. What you need to remember is that a path like “Lucretia: My Applications: HyperCard” is not the same as “Lucretia:My Applications:HyperCard”. I’ll bet you didn’t even notice the difference between the two! Look:
First ->Lucretia: My Applications: HyperCard
Second ->Lucretia:My Applications:HyperCard
The first contains spaces, the second does not. It is imperative that you specify the EXACT pathname, including (or excluding) spaces, trademark symbols, bullets, and the like. In the Finder, check to make sure that you have the names exactly right; if your script still doesn’t work, check the file names to make sure they don’t have an extra space at the end, or perhaps two spaces instead of one in the middle.
By the way, when you're running a script containing simply “open "Red Ryder"”, HyperCard may ask you, the first time you run your script, where “Red Ryder” is. Once you have pointed “Red Ryder” out to HyperCard via the standard file dialog, it will store the path information in the Home stack and it won’t ask you again unless you run your stack from another system (which would have an entirely different set of paths).
Q: Lately, when I launch an application from HyperCard, when I quit the application, I no longer return to HyperCard. What have I done wrong?
A: You haven’t done anything wrong; you’re probably using Symantec’s anti-viral program SAM. Turn off or remove SAM and you’ll once again return to HyperCard after quitting programs you’ve launched from HyperCard. See the “Read Me” file on your SAM master disk for more information. If you’re not running SAM, then it may be a low-memory situation. See the section above regarding freeing up memory.
Q: How much data can I get into a single global? What’s the maximum number of globals I can use?
A: It depends on the size of the memory partition. When running under Finder (or with a MultiFinder parition of 750K) I have found that the most I have been able to stuff into any one global is between 161-185K. The larger the memory partition, the more you can stuff into the global. You can have as many globals as memory will allow. The more data you have in a global, the fewer globals you can use. Watch the heapSpace (“put the heapSpace”) so that you’ll know when you’re running low. Increase the MultiFinder partition if necessary. A better way is to reuse globals: unless you *must* have a different global for every piece of data in a script, reuse the same globals over and over.