|
안녕하세요.
쓰레드 안에 아래와 같이 코딩을 했습니다.
화면을 캡쳐해서 파일로 저장하는 부분인데... (물론 볼랜더포럼에서 검색해서 코드를 찾아꾸요...ㅋㅋㅋ)
쓰레들를 돌리다 보면 어느 순간에 TJPEGImage .... Resource Error 인가 부족인가 그와 비슷한 에러가 나옵니다.
Resource 로 검색해서 보니 쓰레드안에서 이런 문제가 발생하는 경우의 질문이 몇가지 있더군요...
Synchronize 로 처리해도 안된다고 되어있던데....
혹시 이 문제를 해결할 방법이 없나요.
HDC dc = GetDC(0);
Graphics::TCanvas *ScreenCanvas = new Graphics::TCanvas;
ScreenCanvas->Handle = dc;
Form14->Image3->Picture->Bitmap->Width = 1280;
Form14->Image3->Picture->Bitmap->Height = 1024;
TRect rect;
rect = Rect(1, 1, 1280, 1024);
Form14->Image3->Picture->Bitmap->Canvas->CopyRect(rect, ScreenCanvas, rect);
if(Form14->capture_value == 0) {
Form14->Image3->Picture->Bitmap->Canvas->CopyRect(rect, ScreenCanvas, rect);
}
delete ScreenCanvas;
ReleaseDC(NULL, dc);
Form14->capture_value = 1;
//jpeg file------------------------------------------------------------
sprintf(textname,"%s_%06d.jpg", DurTestPattern14.filename, Form14->current_cycle);
TJPEGImage *MyJpg = new TJPEGImage();
MyJpg->Assign(Form14->Image3->Picture->Bitmap);
MyJpg->CompressionQuality = 100;
MyJpg->SaveToFile(textname);
delete MyJpg;
|