Corrupted Stacks

J. Landman Gay jacque at
Mon Mar 27 00:17:54 EST 2006

Iden Rosenthal wrote:
> I just started using Dreamcard (how nice to be back with xtalk after  
> all these years) but after I did some work on some stacks I went back  
> to work on them again and it told me when I tried to open a substack  
> that the stack was corrupted. This was a shocker.

Did it really say "corrupted"? Or did you assume it was corrupted 
because of a "Do you want to purge, etc." message? If the latter, see 
below. If it really said "corrupted", did you recently move to version 
2.7 from an older version of Dreamcard? There has been a file format 
change, and if you save stacks in version 2.7, then the older 2.6 can no 
longer read them. You'll need to open them in 2.7.

> I don't really  trust 
> Dreamcard when I try to save files over the older versions it  seems to 
> work. But then if I try and open what I have saved it tell  me there is 
> already something with that name open and do I want to  Purge or Save or 
> some such nonsense. It really isn't very intuitive.  Applications should 
> just destroy the files that you save over the  names of with a different 
> version. I don't get why Dreamcard seems to  be a nudge about there 
> having been a previous file that I thought I  had done away with but 
> somehow I didn't. Fortunately I did have my  work saved elsewhere in a 
> copy of a stack I had been working on that  was not corrupted but it 
> wasn't because I tried to make a backup out  of it -- it was only 
> because I am working on a large series of stacks  that are all copies of 
> each other basically (differing only in their  info content). I think I 
> would have been quite upset if Dreamcard had  told me to look for a 
> backup of my work (which it does when a stack  corrupted message 
> appears) but it doesn't automatically create  backups and by chance I 
> didn't have one. Is there some way I can  avoid this in future other 
> than always having two or three backups  saved?

This message is normal, and all your saves have been successful. 
Revolution does save stacks like any other app.

But Revolution cannot have two stacks open with the same name. If you 
already have one of them open, it will ask you what to do with the new 
one you are trying to open in its place. Should it purge the old one 
from memory? Cancel trying to open the new one? Generally the best thing 
is to tell it to purge the old one. The old will be removed from memory 
and the new one will open.

The reason Rev thinks your old stack is still open is because a stack 
which is visually closed is not always removed from memory. It remains 
hidden in the background. It cannot receive messages and acts as though 
it does not exist, but it lurks there in case it is needed again. That 
makes re-opening the stack very fast.

You can choose to turn off this behavior in several ways. To make all 
new stacks remove themselves from memory when you close them, tick off 
the checkbox in Preferences, in the "Files & Memory" pane, that says 
"destroystack property is set to true for new stacks." That will cause 
all newly created stacks to be removed from memory when you physically 
close them. To change your existing stacks, open the stack's property 
inspector and check the "purge stack on close" checkbox, which will do 
the same thing for that particular stack. Or, if you want to handle your 
stacks on a case-by-case basis, instead of closing the window with the 
close box, close it from the File menu by choosing "Close and remove 
from memory."

Any of these methods will cause the stack to really go away when you say 
so. And when it is really gone, you won't get that message asking what 
to do when you try to open another same-named stack.

Even if you do see that message occasionally though (and we all do,) it 
doesn't mean there is anything wrong with any of your stacks. Revolution 
just wants to know which one it should keep open.

Jacqueline Landman Gay         |     jacque at
HyperActive Software           |

More information about the Use-livecode mailing list