どのようにPyObjCでAppHelper.runEventLoop()で実行されます登録atexit関数を確保することができますか?
質問
私は思ったんだけど、なぜ私私のatexit関数を...登録例えばます。
import atexit
atexit.register(somefunc)
...
AppHelper.runEventLoop()
もちろん私はatexit
れる時は動作しません知っています。 AppHelper.runEventLoop()
関数が呼び出されるatexit
私はコメントアウトした場合。私も自分のpyobjc
卵を閲覧、と私は__init__.py
パッケージの下objc
の下に次のコードを見ます:
import atexit
atexit.register(recycleAutoreleasePool)
私は無駄に卵内の任意の参照を探しました。私はまた、AppHelper.runEventLoop()
の周りにシェルが最終的に試みを囲む試みたが、finallyブロック内のコマンドは呼び出されません。
は、誰かがここで私を助けることを願っています。
P.S。私は、アプリケーションデリゲートのapplicationShouldTerminate:
メソッドを使用しないと仮定すると、...
解決
私は、あなたがそうでなければイベントループは(一種のos._exit
のような)ではなく突然のプロセスを終了することができるので、代表者が必要です信じているので、Pythonランタイムに、このようなfinally
句、atexit
機能、などなどとして終了コードを実行する機会を与えていませんます。
所属していません StackOverflow