| Running Windows (or anything else) on your Mac Discussion of Classic or running Windows, Linux and other OSes on the Mac. |
| Post Reply | New Thread | Subscribe |
|
|
Thread Tools |
|
Guest
Posts: n/a
|
I am using Apple Event Mechanism.. Whenever some action occurs on the client side I launch the server application and then send the event to that aplication..
As Mac OS classic uses cooperative scheduling, after launching the application, I am calling WaitNextEvent method.. But the event is being sent before the application is being launched.. I am using FlushEvents method just after launching the application.. Eventhen I am facing the same problem.. I am putting the code below.. Can anybody help me on this?? ProcessSerialNumber psn; OSStatus i, err; AppleEvent event = { typeNull, 0 }; AppleEvent reply = { typeNull, 0 }; AEAddressDesc target = { typeNull, 0 }; AEDescList creator_list = { typeNull, 0 }; AEDescList extension_list = { typeNull, 0 }; AEIdleUPP MyIdleUPP; #if 0 // pick one err = LaunchDocuBOMJavaLinkX(); #else EventRecord event1; err = LaunchDocuBOMJavaLinkClassic(); FlushEvents(everyEvent,0); WaitNextEvent(autoKeyMask,&event1,1200,NULL); #endif if ( ! err ) err = ProcessUtils::FindProcessBySignature( kDocuBOMCreatorCode, psn ); if ( ! err ) err = AECreateDesc( typeProcessSerialNumber, &psn, sizeof(psn), &target ); if ( ! err ) err = AECreateAppleEvent( kAEDocuBOMEventClass, kAECheckOut, &target, kAutoGenerateReturnID, kAnyTransactionID, &event ); if ( ! err && ( inArrayOfCreatorCodesToOpen || inArrayOfFilenameExtensionsToOpen ) ) { if ( inArrayOfCreatorCodesToOpen ) { err = AECreateList( nil, 0, false, &creator_list ); for ( i = 0; ! err && inArrayOfCreatorCodesToOpen[ i ]; ++i ) { err = AEPutPtr( &creator_list, 0, typeType, &inArrayOfCreatorCodesToOpen[ i ], sizeof(OSType) ); } } if ( inArrayOfFilenameExtensionsToOpen) { err = AECreateList( nil, 0, false, &extension_list ); for ( i = 0; ! err && inArrayOfFilenameExtensionsToOpen[ i ]; ++i ) { err = AEPutPtr( &extension_list, 0, typeChar, inArrayOfFilenameExtensionsToOpen[ i ], long(strlen( inArrayOfFilenameExtensionsToOpen[ i ] ) + 1) ); } } } if ( ! err && creator_list.descriptorType != typeNull ) err = AEPutParamDesc( &event, keyCreatorCodeList, &creator_list ); if ( ! err && extension_list.descriptorType != typeNull ) err = AEPutParamDesc( &event, keyFilenameExtensionList, &extension_list ); if ( ! err ) err = GetCurrentProcess( &psn ); if ( ! err ) err = AEPutParamPtr( &event, keyDirectObject, typeProcessSerialNumber, &psn, sizeof(ProcessSerialNumber) ); MyIdleUPP= NewAEIdleUPP(MyAEIdleCallback); if ( ! err ) err = AESend( &event, &reply, kAEWaitReply, kAEHighPriority, kNoTimeOut, MyIdleUPP, nil ); AEDisposeDesc( &extension_list ); AEDisposeDesc( &creator_list ); AEDisposeDesc( &target ); AEDisposeDesc( &event ); AEDisposeDesc( &reply ); return err; |
| QUOTE Thanks | |
| Post Reply | New Thread | Subscribe |
| Thread Tools | |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
|
|
|
|
|||||||
Thread |
Thread Starter |
Forum |
Replies |
Last Post |
| Problem after problem after problem... | MrChris | Archival Forum | 7 | 03-11-2005 02:46 AM |
| HELP wierd iMac startup problem | iluvmacs | Apple Desktops | 8 | 09-13-2004 06:47 AM |
| Problem with Finder in OS X 10.3.4 | Bright_Eyes | OS X - Operating System | 3 | 07-06-2004 05:02 PM |
| G5 Video problem | WilliS | Apple Desktops | 3 | 05-05-2004 09:16 AM |
| G3 Hard Drive problem | joe mama | Apple Desktops | 1 | 02-18-2004 01:22 PM |
All times are GMT -4. The time now is 01:30 PM.
Powered by vBulletin