最新のプロジェクトで MVP パターンを実装しようとしています。現在、C++ Builder 2007 に付属の VCL ライブラリを使用しています。私の考えでは、Application->Run() を実行する必要はなく、さらに悪いことに、メイン フォームを作成してそのフォームをループする Application->CreateForm() も必要ありません。メインフォームは必要ありません。代わりに、メインのPresenterが必要です。
私の質問は、スレッド化された TForms を作成する方法になりますか?
オプション 1: メッセージ ループ (プレゼンター) が 1 つしかない場合、システム内のすべてのランダム スレッドは、このメイン スレッドにメッセージを投稿し、フォームを作成する必要があります。
オプション 2: すべてのフォームに独自のメッセージ ループがあります。ランダムスレッドは、必要に応じて新規作成および削除できるようになりました。メッセージの投稿は、それらの間の通信に引き続き使用されます。
オプション2が推奨される場合、このアプローチの実装に関するアドバイスはありますか?
編集: newを 使用してフォームを作成し、ループが機能するようにするには、次のように変更するにはどうすればよいですか?
// Start VCL library
pApplication->Initialize();
// Create the Main form and assign the MainForm property
pApplication->CreateForm(__classid(TForm1), &pFormMain);
// Show the form
pFormMain->Show();
// Run the loop
pApplication->Run();