通常、GUIコンポーネントはOnInitメソッドで作成されます。 私はそれが実際には必要でないことに気づいた。 wxAppオブジェクト全体の外に wxFrameを作成することはできますが、それでも動作します。OnInitの外でwxWidgets GUIコンポーネントを作成するとどうなりますか?
重大な結果はありますか?
通常、GUIコンポーネントはOnInitメソッドで作成されます。 私はそれが実際には必要でないことに気づいた。 wxAppオブジェクト全体の外に wxFrameを作成することはできますが、それでも動作します。OnInitの外でwxWidgets GUIコンポーネントを作成するとどうなりますか?
重大な結果はありますか?
明らかに、グローバルメソッドwxEntryStartを使用してwxAppオブジェクトの外側にwxFrameを構築できます。
:: wxEntryStartブールwxEntryStart(int型&のargc、wxChar ** ARGV)この関数は、あなたが何らかの理由でデフォルトの初期化コードを使用することができない場合はwxWidgetsの の初期化を実行するために使用することができ
。
この関数がtrueを返した場合、初期化は成功し、 グローバルwxAppオブジェクトwxTheAppが作成されました。さらに、後で wxEntryCleanupを呼び出す必要があります。関数が falseを返した場合、致命的な初期化エラーが発生し、ライブラリ(少なくとも GUI部分)がまったく使用できなくなります。
argcとargvのパラメータは、この関数で変更できることに注意してください。
はファイル
この唯一の結果は、あなたが()wxEntryCleanupを呼び出す必要があることのようです
を含める
それが明示的にのみwxAppオブジェクトを呼び出すことが可能です。 ' wxEntryStart(argc、argv); wxFrame * frame = new wxFrame(NULL、wxID_ANY、_( "Title")); frame-> Show(); wxTheApp-> OnInit(); wxTheApp-> OnRun(); wxEntryCleanup(); ' – denarced