[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl] Interfacing to AppleEvents



At 10.10 6/20/97, Kenneth R. Kress wrote:
>To return to the subject, I think Apple should support the
>*functionality* of Apple Events on Rhapsody, but should kill
>AppleScript.

I can't agree.  Too many people use AppleScript and know nothing else.
That would be like saying, "let's make PowerPC software and stop supporting
68K."  You have to gradually kill it.  That would be years and years down
the road.  If that is what you meant -- deprecate it and kill it sometime
in the distant future -- then I agree.

>Down the road, Frontier may be a solution -- if it gains
>momentum on PCs. Perl lacks the inter-application
>mechanism on the PC side.

I don't follow.  Any interapplication communication is going to end up
being platform-specific.  In win32perl, you have OLE capabilities.  In
MacPerl, you have some OSA support, MacPerl::DoAppleScript and Apple
Events.

What I saying, though is that something like this:

        open(MAIL,"|/usr/lib/sendmail");

will never work under the current MacOS, no matter what cross-platform
scripting language you use to do it.  You have to be in a cross-platform
environment to do cross-platform scripting with whatever IAC you wanna do.

The only way to make an example like the above cross-platform is the same
in every cross-platform language.  In Perl, you would make check the
platform name.

        if ($^O eq 'MacOS') {
                use Mac::Apps::MyMail;
                $mail = new Mac::Apps::MyMail;
        } elsif ($^O eq 'Win32') { #?
                use Win32::Apps::MyMail;
                $mail = new Win32::Apps::MyMail;
        } else {
                use Apps::MyMail;
                $mail = new Apps::MyMail;
        }

Then all three modules there would have the same methods, implemented for
whatever platform.  Or you could have one package that would check
internally for the platform, and have different methods for each that are
returned based on which platform is being used.  Or something.  The point
is that in order to deal with foreign applications, all platforms must deal
with applications differently, so one scripting solution really can't exist
for all platforms when dealing with IAC, unless it is done in such a
manner.



>But if we get used to CORBA wrappers, then we can use Apple
>events on the Mac, OLE on the PC, etc., and not get locked
>into something that will break all of our scripts when the
>mechanism changes or disappears -- or something better comes
>along.
>
>What would it take to make Perl scripts into CORBA objects?

        http://www.lunatech.com/cope/

But wouldn't that involve all the apps being communicated with being
CORBA-compliant?

--
Chris Nandor                 pudge@pobox.com                 http://pudge.net/
%PGPKey=('B76E72AD',[1024,'08 24 09 0B CE 73 CA 10  1F F7 7F 13 81 80 B6 B6'])



***** Want to unsubscribe from this list?
***** Send mail with body "unsubscribe" to mac-perl-request@iis.ee.ethz.ch