2
我有一個多線程的應用程序,在線程類中有一個FInputImage:VCL.Graphics.TBitmap。我有另一個名爲FImageV的圖像:VCL.Graphics.Bitmap。德爾福XE7帆布拉伸在線程
檢查下面的代碼:
...
FImageV.LoadFromResourceName(HInstance, 'IMAGEH');
...
FInputImage.Canvas.Lock;
try
FInputImage.Canvas.CopyMode := cmSrcCopy;
FInputImage.Canvas.Brush.Color := clRed;
FInputImage.Canvas.Rectangle(SR);
FInputImage.Canvas.StretchDraw(SR, FImageV);
finally
FInputImage.Canvas.Unlock;
end;
如果我那麼多個線程運行提交更多的圖像,而StretchDraw什麼也不做,就消失了。我只看到用矩形(SR)繪製的紅色矩形。
這是隨機發生的。所有對象都在線程內創建並釋放。我還嘗試將FImageH作爲單獨的類變量添加,因爲它是靜態圖像,但結果相同。
任何想法爲什麼發生這種情況將受到歡迎。
謝謝!