0

ここでの質問は、スレッド ビットマップ ペイントでのマージ ペイントの結果は、 TThread および古いバージョンの DELPHI を使用することに由来します。

オムニスレッド ライブラリが Delphi XE 7 に同梱されていることがわかりましたが、オムニスレッド ライブラリを使用してこのコードを記述しているときに、このタスクに使用するデザイン パターンを決定できません。TThreadとVCLを使用しているため、omnithreadを使用してTBitmapアクセスも制限されています。

私の経験では、並列ビットマップ処理中、vcl 内のペンはスレッドセーフではありません

現在のシングル スレッド コードは次のようになります。

for i:= 1  to mydatabasetable.recordcount do
begin

     ReadSingleRecordfromTable(aDBrecord);

     BuildViewData(aDBRrcord, aPolygon);

     Paint2Bitmap(aTBitmap, aPolygon);
end;
4

0 に答える 0