• 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
AppleScript opens a doc, handleOpenScriptCommand: raises exception
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AppleScript opens a doc, handleOpenScriptCommand: raises exception


  • Subject: AppleScript opens a doc, handleOpenScriptCommand: raises exception
  • From: Jerry Krinock <email@hidden>
  • Date: Sat, 02 Dec 2006 16:37:35 -0800
  • Thread-topic: AppleScript opens a doc, handleOpenScriptCommand: raises exception

I'm adding AppleScriptability to my app.  My app can open its documents from
its File menu.  But when I execute an AppleScript [1] to do open one,
somebody sends -count to a NSCFString, and I get an exception in the Console
output [2].

This same AppleScript works fine if I change "tell application 'MyApp'" to
instead "tell application 'TextEdit'".

I set a breakpoint in [NSException raise] (*) and examined the stack trace
[2.] when the exception occurs.  It occurs during -[NSApplication
handleOpenScriptCommand:].  Duh.

I don't know where to look.  Before the error occurs, my
-applicationDidFinishLaunching completes successfully.
My NSDocumentController's subclass'
-openDocumentWithContentsOfURL:display:error:
and NSDocument subclass' -loadDataRepresentation:ofType:
never run; apparently the exception occurs within the Cocoa framework,
before they are even invoked.

The exception suggests that some argument in the NSScriptCommand* passed to
handleOpenScriptCommand, which is expected to respond to count, is in fact a
NSString.  But that doesn't make any sense.  The script debug output [3]
shows only one argument, the file:// url of the document to be opened, a
direct parameter.  That should be all it needs, and all it looks for.

To see if this might be a Launch Services "environmental" problem, I tried
this on another Mac, but got the same result.

I'll try any reasonable suggestion...Thanks!

Jerry Krinock

(*) Thanks to "Advanced Mac OS X Programming", Dalrymple, Hilleglass for
this cute trick.  In the debugger console, at the (gdb) prompt, type
   break -[NSException raise]

**************************************
1.  My AppleScript.
**************************************

tell application "Finder"
    set fileAlias to alias
       "JMiniHD:Users:jk:Migrations:m1.bdogmigr"
end tell

tell application "MyApp"
    activate
    open fileAlias
end tell


**************************************
2.  Console output
**************************************

Command: Standard Suite.open
  Direct Parameter: file://localhost/Users/jk/Migrations/m1.bdogmigr
    Receivers: (null)
    Arguments: {
        "" = file://localhost/Users/jk/Migrations/m1.bdogmigr;
    }
*** -[NSCFString count]: selector not recognized [self = 0x5afaf0]
*** -[NSCFString count]: selector not recognized [self = 0x5afaf0]
Result: (null)
Error: 8 "NSInternalScriptError";


**************************************
3.  Stack Trace
**************************************

in -[NSException raise]
in +[NSException raise:format:]
in -[NSObject doesNotRecognizeSelector:]
in -[NSObject(NSForwardInvocation) forward::]
in _objc_msgForward
in -[NSApplication _doOpenFiles:]
in -[NSApplication(NSAppleEventHandling) _handleAEOpenDocuments:]
in -[NSApplication(NSScripting) handleOpenScriptCommand:]
in objc_msgSendv
in -[NSInvocation invoke]
in -[NSInvocation invokeWithTarget:]
in -[NSScriptCommand executeCommand]
in -[NSScriptingAppleEventHandler handleCommandEvent:withReplyEvent:]
in -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:]
in _NSAppleEventManagerGenericHandler
in aeDispatchAppleEvent
in dispatchEventAndSendReply
in aeProcessAppleEvent
in AEProcessAppleEvent
in _DPSNextEvent
in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
in -[NSApplication run]
in NSApplicationMain
in main at main.m:7


_______________________________________________

Cocoa-dev mailing list (email@hidden)

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

  • Follow-Ups:
    • Re: AppleScript opens a doc, handleOpenScriptCommand: raises exception
      • From: Jerry Krinock <email@hidden>
  • Prev by Date: really elementary to-many inverse relationship question
  • Next by Date: Re: really elementary to-many inverse relationship question
  • Previous by thread: Re: really elementary to-many inverse relationship question
  • Next by thread: Re: AppleScript opens a doc, handleOpenScriptCommand: raises exception
  • Index(es):
    • Date
    • Thread