saving within a standalone?

Richard Gaskin ambassador at fourthworld.com
Sun Apr 4 21:45:06 EDT 2004


Eric Engle wrote:

> The metacard engine on windows would not allow a standalone to be modified and
> saved (for reasons I've never really understood). Anyway, I expect this is the
> case for revolution as well. In MC I would export the data as RTF. But again,
> the issue is popping up. I'm hoping that someday Rev will allow a standalone's
> contents to be changed by the user. I hope I'm wrong, correct me if I am. n

It's not likely: Mac OS is the only platform where the OS makes that 
possible, and in OS X only in a limited way.  All other platforms do not 
allow an executable to modify itself at runtime, effectively locking the 
file while it's running.  The Rev engine enforces this OS convention for 
Mac OS for consistency.

 > I've got a workaround strategy but would rather the end user had more
 > dynamic control of the standalone. Ideas?

While it may seem "normal" to save data in an execuitable if you come 
from a HyperCard or SuperCard background, if you step back to look at 
other apps you'll find that almost none do this other than those made 
with HyperCard and SuperCard.

Separating the user's data from the executable is not just a requirement 
for other OSes, but has merit on its own.  It makes updating the 
application simpler, and provides a more consistent experience with 
nearly all other applications the user has experience with.

There are many ways to store data externally, and they vary in 
complexity to the degree that you also separate data from the user 
interface.

But in its simplest form it's a snap:  just clone out the stack holding 
the user's data into a separate stack file, and store it in the 
Preferences folder or some other place the app can find it easily to 
open it at startup.

-- 
  Richard Gaskin
  Fourth World Media Corporation
  ___________________________________________________________
  Ambassador at FourthWorld.com       http://www.FourthWorld.com


More information about the use-livecode mailing list