Xref: utzoo comp.sys.mac.hypercard:2554 comp.sys.mac.programmer:9453 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!gem.mps.ohio-state.edu!apple!dan From: dan@Apple.COM (Dan Allen) Newsgroups: comp.sys.mac.hypercard,comp.sys.mac.programmer Subject: Re: Hypercard stack structure? Corrupted Stack. Keywords: hypercard, corrupt stack, structure Message-ID: <35236@apple.Apple.COM> Date: 3 Oct 89 19:39:50 GMT References: <144cs-sunb@massey.ac.nz> Organization: Apple Computer Inc, Cupertino, CA Lines: 51 In article <144cs-sunb@massey.ac.nz> A.Stenhouse@massey.ac.nz writes: >Unfortunately, this stack has become corrupted: >It comes up with an error message of: >"Can't read card or background ID 44289 at location 5112". >It is preceded by PAGE within the stack structure. >Also, can anyone give me the structure of Hypercard stacks - i.e. the The number one cause of stack corruption, according to the best results that we can gather, is due to shutdown XCMDs and other ways of turning the computer off while HyperCard is updating the disk. HyperCard will normally write everything to disk while idling so that this occurs rarely, but shutdown XCMDs often corrupt stacks anyway. When you get an error message like the one mentioned, you are temporarily out of luck. That's the bad news. The good news is that we are working on a utility that we hope to release someday that will fix corrupted stacks. In the meantime, you can use FEdit or some other disk editor to see the actual text stored in fields. The PAGE object in a HyperCard stack is used internally by HyperCard and does not contain any user data on it. User data is stored on CARDs and graphics are stored in BMAPs. The full structure of HyperCard stacks is not available to the public at this time. If you are really interested in obtaining the file format to HyperCard stacks, contact Apple's Legal department which will, in special circumstances, license the file format at its discretion. Here are ways to prevent getting corrupted stacks: * Do not use ShutDown XCMDs * Backup up stacks often, preferably to hard disks, as floppies wear out quickly when used with HyperCard stacks, since HyperCard is so disk intensive. (Floppies that are used often--several times a day--only last a few months at a time anyway) * Quit HyperCard normally, i.e., without pulling the plug, turning off the Mac while still in HyperCard, etc. * Do not use just any XCMD, as improperly written XCMDs can trash things quite easily. Make sure the XCMDs you use (or write!) are robust. * Use the latest version of HyperCard, which is currently 1.2.2 for most of the older Macs and 1.2.5 for the Portable and IIci. If you are using 1.2.2 on a Plus, SE, SE/30, II, or IIcx, you do not need to upgrade to 1.2.5 unless you have huge stacks (8 MB or larger in size and more than 8000 cards). Remember that 1.2.5 requires System 6.0.4 as well. Hope this helps. Dan Allen HyperCard Team Apple Computer