• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Calling a script with parameters failing with error -1708
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Calling a script with parameters failing with error -1708


  • Subject: Calling a script with parameters failing with error -1708
  • From: Ken Tozier <email@hidden>
  • Date: Fri, 14 Nov 2008 21:21:20 -0500

Hi

I've been trying off and on for a couple of days to run a script that requires parameters. The first problem I found was that NSAppleScript has a bug that wipes out QuarkXPress's event dictionary when loading scripts containing Quark commands. Someone pointed me to the OSAScript framework which doesn't have this bug, but I'm getting -1708 (errAEEventNotHandled) errors.

My code is running as a Quark XTension so I may be setting up the "targetAddress" incorrectly. Could someone take a look at the following snippet and point out where I'm messing up?

Thanks in advance

Here's what the NSLogs print to the console

> targetAddress: <NSAppleEventDescriptor: 'kpid'("QuarkXPress")>
> event: <NSAppleEventDescriptor: 'ascr'\'snam'{ '----': [ 'utxt'("Thursday, November 20, 2008") ] }>
> subroutineDescriptor: <NSAppleEventDescriptor: 'utxt'("replacefoliodates")>
> argsDescriptor: <NSAppleEventDescriptor: [ 'utxt'("Thursday, November 20, 2008") ]>
> result: (null)
> error: {
OSAScriptErrorNumber = -1708;
} running script: AA_01-05



And here's the code:
Note: the "aeDescriptor" method in the line [inArguments aeDescriptor] is a category that coerces common types like NSArray, NSDictionaries, NSNumbers etc... into AEDescriptors.


// NOTE this method is a category on OSAScript
- (NSAppleEventDescriptor *) executeHandler: (NSString *) inHandler
withArguments: (id) inArguments
errorInfo: (NSDictionary **) inErrorInfo
{
int pid = [[NSProcessInfo processInfo] processIdentifier];

NSAppleEventDescriptor *targetAddress = [[NSAppleEventDescriptor alloc] initWithDescriptorType: typeKernelProcessID
bytes: &pid
length: sizeof(pid)];

NSAppleEventDescriptor *event = [[NSAppleEventDescriptor alloc] initWithEventClass: typeAppleScript
eventID: keyASSubroutineName
targetDescriptor: targetAddress
returnID: kAutoGenerateReturnID
transactionID: kAnyTransactionID],
*subroutineDescriptor = [NSAppleEventDescriptor descriptorWithString: [inHandler lowercaseString]],
*argsDescriptor = [inArguments aeDescriptor];

NSAppleEventDescriptor *result;

NSLog(@"------------- targetAddress: %@", targetAddress);
NSLog(@"------------- event: %@", event);
NSLog(@"------------- subroutineDescriptor: %@", subroutineDescriptor);
NSLog(@"------------- argsDescriptor: %@", argsDescriptor);


// Set up an AppleEvent descriptor containing the subroutine (handler) name
[event setParamDescriptor: subroutineDescriptor forKeyword: 'snam'];


	// Add the provided arguments to the handler call
	[event setParamDescriptor: argsDescriptor forKeyword: keyDirectObject];

	// Execute the handler
	result = [self executeAppleEvent: event error: inErrorInfo];

	[targetAddress release];
	[event release];

	NSLog(@"------------- result: %@", result);
	

	return result;
}
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Prev by Date: NSManagedObjectContextObjectsDidChangeNotification
  • Next by Date: Re: NSManagedObjectContextObjectsDidChangeNotification
  • Previous by thread: Re: NSManagedObjectContextObjectsDidChangeNotification
  • Next by thread: Re: Calling a script with parameters failing with error -1708
  • Index(es):
    • Date
    • Thread