誰かが私を助けてくれたら嬉しいです。私はC++Builderを初めて使用し、C++でスレッドを使用したことはありません。
クラッシュしないようにスレッド化したいc++Builder内のフォームがあります。現時点では、アプリケーションのバックグラウンドプロセスが完了するまで、フォームは読み込まれません。
誰かが私を助けてくれたら嬉しいです。私はC++Builderを初めて使用し、C++でスレッドを使用したことはありません。
クラッシュしないようにスレッド化したいc++Builder内のフォームがあります。現時点では、アプリケーションのバックグラウンドプロセスが完了するまで、フォームは読み込まれません。
C++ Builder では、スレッド オブジェクトを追加する必要があります ("project.exe" を右クリックし、新規追加、その他。C++ Builder ファイル フォルダーにあります)。次に、ヘッダー インクルードを追加し、オブジェクトをインスタンス化する必要があります。
オブジェクトを扱うにはあまりにも初心者である場合は、関数で CreateThread 関数を使用するだけです。ベストではないかもしれませんが、経験がなければとても簡単です。
TForm1 *Form1;
unsigned long __stdcall my_thread_func(void *args);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner){
CreateThread(NULL,0,&my_thread_func,NULL,0,NULL); //create thread in form constructor
}
//---------------------------------------------------------------------------
// Write a function like this
unsigned long __stdcall my_thread_func(void *args){
Sleep(5000);
Form1->Caption = L"Done!!";
}