Article View: comp.lang.lisp.mcl
Article #628Re: Apple Events
From: jwbaxter
Date: Fri, 18 Dec 1992 16:32
Date: Fri, 18 Dec 1992 16:32
83 lines
4146 bytes
4146 bytes
>We're having some difficulty implementing Apple Event support in MCL 2.0p1. Tod, There is some confusion as to what events are expected when an application starts up. If the application is started because the application icon was double-clicked in Finder, an Open Application event is received. If the app is started because one of its documents is double clicked, NO Open Application is received...an Open Document is received instead. (Or a Print Document if a document is selected in Finder and the Print command is chosen.). So...when an application starts up and observes that Apple events are implemented, it should do whatever it does to initialize REGARDLESS of why it is starting, then await one of the events. On Open App do the "I was double-clicked" stuff (untitled document, or whatever)...on Open Doc do that stuff. None of the events will be received if the right bit isn't set in the SIZE resource (but if that were the problem you wouldn't get the Quit Application event either, and that shouldn't be the MCL problem you're seeing). On the CD ROM, look in folder Dev.CD Nov/Dec 92:Tools & Apps:OS/Toolbox:Apple Events:AETracker 3.0: for a nice little Control Panel which patches the trap which all Apple event traps go through, and will report some or lots of information about some or all of the calls (easy to select what). It should answer many of your questions about what events are being passed around. $5 shareware from one of the Apple DTS guys. Also on the CD ROM, in Dev.CD Nov/Dec 92:Tools & Apps:OS/Toolbox:Apple Events:AE & Scripting Dev Kit:AE Tools:FKEYs: there is a nice FKey which displays a list of the currently installed Apple event handlers. Useful sometimes if you "know" you're set up to receive an event which isn't coming in. Also useful to make sure that any System handlers are being removed when an application shuts down (I've found two guilty apps so far). None of what I've said above is directly related to MCL. I see that MCL installs one wildcard handler which receives all incoming events (that's the little FKey at work). I haven't looked at what that handler does. ------------ After running the AETracker against MCL 2.0p1, I have a concern: ------------ AETracker record Brought to you by C.K. Haun <TR> and RavenWare Software Tracking initiated in application:Finder MCL 2.0p1 at TickCount: $0000298D AEInstallEventHandler Class: aevt ID: **** RefCon $010DE76C System Type MCL 2.0p1 at TickCount: $00002990 AEProcessAppleEvent Class: aevt ID: oapp MCL 2.0p1 at TickCount: $00002990 AEGetAttributePtr Wanting: Descriptor Type:**** Key Type : evid MCL 2.0p1 at TickCount: $00002991 AEGetAttributePtr Wanting: Descriptor Type:**** Key Type : miss Routine returned an error : $F95B errAEDescNotFound MCL 2.0p1 at TickCount: $00002991 AERemoveEventHandler Class: aevt ID: **** MCL 2.0p1 at TickCount: $00002ACF AEInstallEventHandler Class: **** ID: **** RefCon $00000000 System Type ------------------- This is the result of double clicking MCL itself. Note that MCL seems to be installing a bogus handler (which seems to work) to catch event class <<nothing>> (probably 0x00000000), ID **** (typeWildCard). (Or, there could be a problem in AETracker, but I've never before seen it mis-report an event Class.) The Open Application arrives and is processed, the bogus handler is removed and a new, valid handler for **** **** is installed. I haven't looked at the underlying code, but I suspect the root of your problem is in this use of a different handler at startup. --John -------------- John W. Baxter jwbaxter@halcyon.com [BAXTER.JOHN on AppleLink, from AppleLink only.]
Technical Details
Message-ID:
<199212181629.AA26338@halcyon.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!apple!cambridge.apple.com!jwbaxter@halcyon.halcyon.comShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!apple!cambridge.apple.com!jwbaxter@halcyon.halcyon.com From: jwbaxter@halcyon.halcyon.com Newsgroups: comp.lang.lisp.mcl Subject: Re: Apple Events Message-ID: <199212181629.AA26338@halcyon.com> Date: 18 Dec 92 16:32:56 GMT Sender: info-mcl-request@cambridge.apple.com Lines: 83 Approved: comp.lang.lisp.mcl@Cambridge.Apple.C0M