どのようにPyObjCでAppHelper.runEventLoop()で実行されます登録atexit関数を確保することができますか?

StackOverflow https://stackoverflow.com/questions/1255025

  •  12-09-2019
  •  | 
  •  

質問

私は思ったんだけど、なぜ私私の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機能、などなどとして終了コードを実行する機会を与えていませんます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top