Some Basic Misunderstandings/Problems with RunRev - aka Help!

David Burgun dburgun at dsl.pipex.com
Wed Apr 14 14:03:47 EDT 2004


>David Burgun wrote:
>>>the stack that has been turned into a standalone CANNOT be "saved as..."!
>>>Simply because the stack IS now the standalone.
>>
>>Then PLEASE could someone just tell me how I save a Standalone 
>>Stack PLEASE!!! I've been asking questions about this all day and 
>>I'm just going round and round and round in circles.
>
>He did: executable files on Windows and UNIX cannot modify 
>themselves. The Mac version of Rev enforces this for consistency.

Well that's fine and understandable, but it still doesn't tell me how 
to save a stack when I have made a Standalone! But I still don't see 
how that answers my question - "Then PLEASE could someone just tell 
me how I save a Standalone Stack PLEASE!!!".

It's been a long day, maybe I'm just being dumb!

>You could, however, use the clone command to clone the stack, using 
>answer file to set the stack's filename property and then save the 
>clone.

I don't understand this, why would I have to use the "answer file" 
command?  But given that I don't.

This is how I assume it would work:

Given that this is a Standalone App, when it is first loaded, it 
checks to see if there is a "CurrentControls.rev" file. If there is, 
then I want to use it as the current stack to operare on. If there 
isn't, then I want to clone the current stack (which will be the main 
stack and all it's substacks) and put that into a file called 
"CurrentControls.rev".  At certain points during execution of the 
standalone, I want to save back the current control values and put 
them into "CurrentControls.rev". If the user quits, I want to again 
save the settings into "CurrentControls.rev" and have them be used 
when the standalone is next launched by the user.

Can I do this using the clone stack, save stack etc. commands?

Things that worry me from reading the "clone" page in the dictionary:

1. If the object is a stack, the newly created stack is opened. It is 
named "copy of" and the stack's name.

Won't this cause some flickering when the Standalone is launched. If 
I hide the current stack, will the new stack be hidden too? I am 
guessing it will since it says it copies all the properties of the 
object being cloned.

2. Does the clone command, clone all the substacks in the stack? The 
dictionary page doesn't say.

3. From the Dictionary:

When the new control is created, the Pointer tool is automatically 
chosen. If you use the clone command in a handler, you can use the 
following statement after the clone command to resume using the 
Browse tool:

   send "choose browse tool" to me in 1 tick"

Which makes me think this won't work with a standalone.

If it does, then I am guessing I don't need to send the message, correct?


If I can use the clone command, then I am guessing that the code ai 
need would be something like this:


on mouseUp
   if the environment is not "development" then
     put "CurrentControls.rev: into myNewStackName
     put the filename of this stack into myStackFilePathName
    
     set itemDelimiter to "/"
     delete last item of myStackFilePathName
     put "/" & myNewStackName & ".rev" after myStackFilePathName
   
     clone this stack

     set the name of it to myNewStackName

     answer "Save?" with "Cancel" or "Save"   
     if it is "Save" then
       beep             
       save stack myNewStackName as myStackFilePathName
       close this stack
     end if
   end if
end mouseUp

Is this correct?


Thanks again!
All the Best
Dave


More information about the use-livecode mailing list