1

wxWidget GUI アプリケーションを作成しました。パラメータによってはGUIが表示される場合もありますが、プログラムをサイレントモードで実行すると、ウィンドウを開かずにタスクを実行するだけです。

falseオーバーライドで戻ることができApp::OnInit()、アプリケーションは終了しますが、何か問題が発生したことを示す終了コードも設定されます。

では、そのような場合に適切に終了するにはどうすればよいですか。リターンコードを設定するにはどうすればよいですか?

4

2 に答える 2

2

trueから戻る場合と同様に、メイン イベント ループに入った場合はYourApp::OnInit()、そこから抜けてアプリケーションを終了する必要があります。これは、通常、最後のトップ レベル ウィンドウが削除されたときに呼び出されるExitMainLoop()を使用して行われますが、手動で呼び出すこともできます。

メイン ループ イベントにまったく入らない場合は、falseから戻るYourApp::OnInit()のがプログラムをすぐに終了する最も簡単な方法ですが、ご存知のように、これは wxWidgets の観点から、アプリケーションの初期化に失敗したことを示します。デフォルトでは、プログラムはゼロ以外の終了コードで終了します。独自の終了コードを返すには、成功した場合に次に呼び出されるOnRun()trueから戻りOnInit()、オーバーライドし続け、何もせずに、特にメイン イベント ループに入る基本クラス バージョンを呼び出さずに、そこからコードを返すだけです。 .OnInit()

于 2013-10-08T21:30:33.857 に答える
0

こちらのドキュメントを確認してください: http://docs.wxwidgets.org/2.8/wx_wxappoverview.html

ドキュメントには緊急時にのみ使用するように記載されていますが、wxExit はあなたが探しているものかもしれません。

于 2013-10-08T18:13:45.860 に答える