这里的问题合并绘制导致线程位图绘制源于使用 TThread 和旧版本的 DELPHI。
我现在发现了 Delphi XE 7 附带的全线程库,并且在使用全线程库编写此代码时无法决定应该使用哪种设计模式来完成此任务。TBitmap 访问是否也像使用 TThread 和 VCL 一样限制使用全线程。
根据我的经验,vcl 中的笔在并行位图处理期间不是线程安全的
当前的单线程代码如下:
for i:= 1 to mydatabasetable.recordcount do
begin
ReadSingleRecordfromTable(aDBrecord);
BuildViewData(aDBRrcord, aPolygon);
Paint2Bitmap(aTBitmap, aPolygon);
end;