Standalone Button Font Bloat

Dave Cragg dcragg at lacscentre.co.uk
Thu Dec 19 12:19:01 EST 2002


At 7:27 am -0800 19/12/02, Mark Swindell wrote:
>on 12/19/02 2:47 AM, Klaus Major at k_major at os.surf2000.de wrote:
>
>>  Hi Eric and Marc,
>>
>>>>  ...
>>>>  The splash screen stack becomes the
>>>>  standalone's main stack...
>>>>  the application stack, I guess you could say.
>>>>  The other stacks are substacks of
>>>>  this stack, but since they are not directly
>>>>  part of the application they can
>>>>  save changes written to them.
>>>
>>>  i wondered how that worked.
>>
>>  Just to make it absolutely clear:
>>
>>  Substacks of a standalone CANNOT be saved !!!
>>  Every stack that is part of a standalone CANNOT be saved !!!
>
>
>Klaus,
>
>Maybe I was using the term "substack" wrong.  What do you mean when you say
>substack?
>
>In my case I did separate them into a data folder for the build, and am able
>to save changes made to them without problem.  Are these then "associated"
>stacks, or what is the proper term to use for them?
>
>Thanks for the clarification,
>Mark

It would be good to clear this up. I've seen the term "substack" used 
a lot when it shouldn't be. Another problem is that the term 
"standalone" can be ambiguous.

At the risk of sounding like Miss Manners, here's an explanation/suggestion.

A "substack" resides in the same file as its mainstack. As a result, 
if that mainstack can't be saved then its substacks can't be  saved 
either. The common *misuse* of "substack" is referring to a second 
mainstack that resides in a separate file from the first mainstack.

Typically, when you build a "standalone" you attach a 
platform-specific Rev engine to the file that contains a particular 
mainstack. The result is an executable file* (program, application, 
or whatever you want to call it). Any substacks that were contained 
in the mainstack's file also form part of that executable file. And 
this executable file cannot be saved while it is running.

In order to save a stack while running a standalone, the stack must 
be in a separate file from the executable file. Therefore, when 
building a standalone file, you shouldn't build it from a stack that 
you wish to be able to save while the standalone is running. One 
commonly used technique  is to build a small stack that acts as a 
splash screen for you application. Its main purpose (apart from 
displaying a pretty picture and perhaps scary licensing stuff for a 
few seconds) is to open a second stack that resides in a separate 
file. So your final application will consist of 2 files. On Windows 
(easier to illustrate), these files might be named as follows:

myapp.exe (contains the Rev engine and your "splash screen" stack
myapp.rev  (contains the stack that you wish to save)

I don't know if there is a proper term for referring to this second 
stack, but I think terms such as "a stack in a separate file" or "a 
separate stack file" should be clear enough. I've seen the term 
"external stack" used, and I guess that's clear too.

The "standalone" ambiguity comes from whether we see the standalone 
as being only the single executable file (myapp.exe in the above 
example) or as referring more generally to all the files that make up 
the application. Both seem valid definitions to me, so it's probably 
clearer to refer to the "standalone file" or "standalone executable 
file" and NOT just "standalone" when you want to refer specifically 
to the executable file (engine + attached stack).

*(OK, I know that in Mac OS X terms, the "standalone file" may not be 
a single file, but a special bundle that is really a folder but looks 
like a file. But for this discussion, it's probably easier to treat 
it as a single file.)


Cheers
Dave




More information about the use-livecode mailing list