[futurebasic] Re: [FB] AEOpenFile

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : April 2002 : Group Archive : Group : All Groups

From: Alain Pastor <apastor@...>
Date: Sat, 27 Apr 2002 08:04:01 +0200
Le samedi 27 avril 2002, à 06:26 AM, Brian Stevens a écrit :

>> Alain sent me code offline.  I'll compare notes.
>> I must have been out to lunch -- I dont recall
>> a thread on this topic.  I'll go through the
>> archives.
>>
>
> I'm adding document launching to an application, so I'd be interested 
> (and many other list members might be too) in your discoveries and 
> which constants Staz is referring to.
>
> Thanks...Brian
>

I'm also using a function coming from Herbie's work:

_kAEQueueReply         =  2
_kAECanInteract        = 32
_kAENormalPriority     =  0
_kAEDefaultTimeout     = -1

CLEAR LOCAL MODE
'~'8
LOCAL FN OpenFSFileWithApplication( fSpec AS .FSSpec )
'~'9
DIM AS OSErr    err
DIM AS OSType @ creator
DIM AS AEDesc   addrDesc,theAE,fList

creator = _"MACS"
err = FN AECreateDesc( _"sign", @creator, SIZEOF(OSType), addrDesc )
IF err THEN EXIT "Dispose"
err = FN AECreateAppleEvent( _"aevt", _"odoc", addrDesc,¬
                           _kAutoGenerateReturnID, _kAnyTransactionID, 
theAE )
IF err THEN EXIT "Dispose"
err = FN AEcreateList(_nil,0,_false,fList)
IF err THEN EXIT "Dispose"
err = FN AEPutPtr( fList, 1, _"fss ", fSpec, SIZEOF( FSSpec ) )
IF err THEN EXIT "Dispose"
err = FN AEPutKeyDesc( theAE, _"----", fList)
IF err THEN EXIT "Dispose"
err = FN AESend( theAE, addrDesc, _kAEQueueReply_kAECanInteract,¬
                           _kAENormalPriority, _kAEDefaultTimeout, _nil, 
_nil )
"Dispose"
IF addrDesc.dataHandle THEN err = FN AEDisposeDesc( addrDesc )
IF theAE.dataHandle    THEN err = FN AEDisposeDesc( theAE )
IF fList.dataHandle    THEN err = FN AEDisposeDesc( fList )

END FN

gFBUseNavServices = _zTrue

DIM fSpec AS FSSpec

LONG IF LEN( FILES$( _FSSpecOpen, "TEXT", "Open a doc", fSpec ) )
   FN OpenFSFileWithApplication(  fSpec  )
END IF

I hope this post will make it through the list.

Cheers

Alain