別スレッドから、一定時間毎にフォーム上に配置したTImageの内容を
書き換える処理を行っているのですが、たまに、EOutOfResourcesエラーが発生します。
TImageのハンドルが取得できなくなっているのではないか、と思うのですが、
どのように対処すればいいのかわかりません。
・別スレッドで行っているのは、下記のような内容です。
Graphics::TBitmap bmpBuffer;
//---------------------------------------------------------------------------
void __fastcall thread_proc::Execute()
{
bmpBuffer = new Graphics::TBitmap();
bmpBuffer->HandleType = bmDIB;
bmpBuffer->PixelFormat = pf1bit;
bmpBuffer->SetSize(100, 300);
while(true) {
// bmpBuffer->Canvasを使用した描画処理
Synchronize(&ImgUpdate);
i++;
Sleep(100);
}
delete bmpBuffer;
}
//---------------------------------------------------------------------------
void __fastcall thread_proc::ImgUpdate()
{
Form1->ImgPrev->Picture->Bitmap->Assign(bmpBuffer);
}
わかる方がいらっしゃいましたら、ご教授いただければと思います。
よろしくお願いします。