マルチスレッド処理は、BackgroundWorkerを使うと簡単
System::ComponentModel::BackgroundWorker^ cmBackgroundWorker;
おなじみのイベントハンドラを作成。
System::Void Form::DoWork( System::Object^ sender, System::ComponentModel::DoWorkEventArgs^ e )
{
// ここに、処理を書く
}
System::Void Form::RunWorkerCompleted( System::Object^ sender, System::ComponentModel::RunWorkerCompletedEventArgs^ e )
{
// スレッドが終了したときに呼ばれる
}
イベントハンドラを登録して、RunWorkerAsync()でスレッド開始
cmBackgroundWorker->DoWork += gcnew System::ComponentModel::DoWorkEventHandler( this, &Form::DoWork );
cmBackgroundWorker->RunWorkerCompleted += gcnew System::ComponentModel::RunWorkerCompletedEventHandler( this, &Form::RunWorkerCompleted );
// スレッド開始
cmBackgroundWorker->RunWorkerAsync();
投稿者 NMVL : 2006年4月19日 14:36