[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MCL applications
- To: info-mcl@cambridge.apple.com
- Subject: Re: MCL applications
- From: jwbaxter@olympus.net (John W. Baxter)
- Date: Wed, 11 May 1994 14:16:37 -0700
>>Also, how can you launch a finder document from MCL
>
>I don't know.
>
>One would think it would be as simple as sending an 'ODOC' event,
>but I've heard that it isn't, that it's difficult to get right, and
>that the Finder crashes if you get it wrong. This is just a rumour,
>however.
>
>Just to be sure, I tried sending an 'ODOC' event to the Finder.
>It ignored it.
The original Finder Suite of Apple events is rather bizarre (Finder was
frozen before Apple events finished evolving). It is possible to construct
an Open Selection event which Finder will honor...see the Finder Suite
writeup in the AE Registry. You pass in two aliases: an alias to the
folder containing the document, and an alias (list of aliases, really) to
the document[s] to be opened. [I told you it was bizarre.] Finder does
not respond...you sort of have to trust it, and you have to send the event
with the kAENoReply mode (or queue reply, knowing nothing will come back).
The new Scriptable Finder works in much more rational ways. Currently
available with the AppleScript Developer's Kit (version 1.1). Part of
System 7.5.
Here's the AppleScript Dictionary description for Scriptable Finder's Open
message (which IS 'aevt'/'odoc'):
------------
open: Open the specified object(s)
open reference -- list of objects to open
[using reference] -- the application file to open the
object with
[items list] -- DO NOT USE: provided for backwards
compatibility with old event suite.
Will be removed in future Finders
-------------
For new work, I'd suggest writing for the Scriptable Finder, rather than
the archaic Finder (the current release). Unless you know your users won't
move to System 7.5.
--JOhn
--
jwbaxter@pt.olympus.net (John W. Baxter) Port Ludlow, WA
finger me to prove I'm all wet (Port Ludlow rainfall numbers).