2012-02-07 6 views
14

コンテキストメニューと10.5のアイコンオーバーレイ(scpluginと同じ)にはCFPluginを使用しています。私のアプリケーションとファインダーとの間の通信のために、私はdistributed objectを使用しています。 Contextual menu itemsフォルダにプラグインをインストールした後、私のシステムは/ shutdow/Logoutの再起動を拒否します。アクティビティモニターでは、私はファインダーを終了することができませんが、強制終了だけがファインダーのためにウォーキングしています。コンソールで 私はファインダーと私のアプリケーション間の通信がなけれ10.5.8私のシステムがNSAppleScriptクラスでシャットダウン/再開を拒否する

ERROR | -[ApplicationManager(AppleEventHandling) _tryQuitAllForRequestor:replyEvent:] | _tryQuitAllForRequestor - _vproc_set_global_on_demand returned error -1805620379 

に取得しています、システムの再起動/ shutdow /ログアウトが正常に動作しています。 10.5.4

loginwindow[41]: ERROR | WSActivateApp | SetFrontProcess({0, 7980956}) returned error -600. Unable to activate process. 

loginwindow[41]: ERROR | -[ApplicationManager(AppleEventHandling) _tryQuitAllForRequestor:replyEvent:] | _tryQuitAllForRequestor - _vproc_set_global_on_demand returned error -1780878507 


は、誰も私を助けてくださいことはできますか?私の問題が解決される

EDIT。私はAppleスクリプトを実行するためにNSAppleScriptを使用していました。今私はNSTaskを使用していて、私のシステムの再起動/シャドウ/ログアウトは正常に動作しています。誰も私の理由を説明できますか?

+0

Finder以外のアプリケーションから呼び出されたときは、「noErr」を返します。 Finderから呼び出されたときに何を返すのですか? – user1118321

+0

アプリケーションが見つかった場合、私は自分のコードを実行しています。 –

+0

そしてそれは何を返すのですか? – user1118321

答えて

0

を私の問題が解決されます。私はAppleスクリプトを実行するためにNSAppleScriptを使用していました。今私はNSTaskを使用していて、システムの再起動/シャットダウン/ログアウトは正常に動作しています。

1

NSAppleScriptはメインスレッドからしか実行できないため、メインスレッドは実行中にブロックされます。

メッセージの根本原因は何もわかりませんが、スクリプトが見つからないか正しく実行されていないと思われ、メインスレッドがブロックされたりタイムアウトしたりして、すべてのシャットダウンシーケンスが停止します。

反対側では、NSTaskは正しくマルチスレッドされているため、シーケンスはブロックされず、コンピュータは正常にシャットダウンします。ここで

いくつかの関連リンクが集まっています

+0

私はセカンダリスレッドからAppleスクリプトを実行していました。一度に1つのスレッドのみが使用されます。 –

+0

(NSAppleScriptはメインスレッドではありません)[http://www.cocoabuilder.com/archive/cocoa/163902-nsapplescript-not-in-the-main-thread。html#164093] 'NSAppleScriptのすべてのインスタンスが同じComponentInstanceを使用しているように見えますが、ComponentInstanceをメインスレッドで使用して、おそらくAppleScriptableになるようにアプリケーションを設定することもできます。それぞれのスレッドには独自のAppleScript ComponentInstanceが必要です。理論上、これはAppleScriptを実行する複数のスレッドを持つことができます。 ' 私は、ファインダがNSApplescriptクラスを使用していないと仮定しています。 –

関連する問題