On May 27, 2008, Lars Brehmer <[EMAIL PROTECTED]> wrote:

****
...This brings me to a second question - in my standalone the close
button saves all substacks , but apparently choosing quit in the MacOS
menubar doesn't save anything. What must be done in order to have
quitting from the menu bar save changes as well?

Cheers,

Lars
****

I had this problem also, and various people on the list suggested the solution. You have to cover all the ways you can quit from a standalone, on both platforms. Here's the thread I saved:

From: Mark Schonewille <[EMAIL PROTECTED]>
Date: Fri, 16 Nov 2007 01:16:34 +0100
Re: Re: saving data in a standalone before quit
(Was Re: (mac) application menu)

Peter,

When you use the Quit menu item, Mac OS X sends an event to Revolution. You can catch this message with the AppleEvent handler or the shutdownRequest handler. On Mac OS X, I prefer to use the AppleEvent handler most of the time.

If you use either the AppleEvent handler or the shutdownRequest handler without a pass command, the application will not quit by itself (you can also lock messages and issue the quit command).

When you press command-Q, the Quit menu item should work just like when you use the mouse to select this menu item and you can catch the AppleEvent and shutdownRequest messages again. However, your script may catch the commandKeyDown message. If you don't pass this message with the pass command, your application may not quit.

There are versions of Revolution that don't pass the commandKeydown message because of a bug. There are also versions that don't pass the AppleEvent message.

If you are using Rev 2.8.1, problems with quitting are probably due to a script.

Best regards,

Mark Schonewille

********

From: Marty Knapp <[EMAIL PROTECTED]>
Date: Sat, 17 Nov 2007 11:04:20 -0800
On: How to use Revolution <use-revolution@lists.runrev.com>
Re: (mac) application menu

This was driving me crazy too. After messing around with it, I pieced
the following together and it's worked for me (I am using Rev 2.6.1):

on appleEvent pClass,pID,pSender  --I got this from Ken Ray's web site
  switch (pClass & pID)
  case "aevtquit"
    answer "Save changes?" with "Don't Save" or "Save"
    if it is "Save" then
      doSaveStuff
      pass appleEvent
    else pass appleEvent
    break
  default
    pass appleEvent
    break
  end switch

end appleEvent

on closeStackrequest
  Global homeStack
  if the short name of this stack is homeStack then
    answer "Save changes?" with "Don't Save" or "Save"
    if it is "Save" then
      doSaveStuff
    end if
  end if
  pass closeStackrequest
end closeStackrequest

on shutdownRequest --I only use this for Windows
  Global homeStack
  if the platform contains "Win" then
    if the short name of this stack is homeStack then
      answer "Save changes?" with "Don't Save" or "Save"
      if it is "Save" then
        doSaveStuff
      end if
    end if
  end if
  pass shutdownRequest
end shutdownRequest


Marty Knapp

******

Where to put the handlers depends on the structure of your stack system. You want them high enough up in the hierarchy to trap the messages no matter where the user is when the quit/close is triggered, but keep in mind that putting them in the main stack script will cause closeStackrequest to be called every time a subordinate stack closes.

-- Peter

Peter M. Brigham
[EMAIL PROTECTED]
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
  • (no subject) Peter Brigham

Reply via email to