线程中刷新界面 报错,求教!

tomorrow619810 2011-06-30 04:06:51

Synchronize(FillValue2CheckTree);

procedure FillValue2CheckTree;
begin
FCheckTree.Items.BeginUpdate;
try
FCheckTree.Refresh;
finally
FCheckTree.Items.EndUpdate;
end;
end;

线程运行时
FCheckTree.Items.BeginUpdate;
这句经常报错 ,我估计 的 多个线程资源 共享时的问题,
我 加了 锁也不行 ,想请教下高手 应该如何处理

self.FClientLock.Acquire;
try
try
FCheckTree.Items.BeginUpdate;
except
on e: exception do
ShowMessage('错误信息2:' + e.Message);
end;
try
FCheckTree.Refresh;
finally
FCheckTree.Items.EndUpdate;
end;
finally
self.FClientLock.Release;
end;
...全文
128 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2011-07-01
  • 打赏
  • 举报
回复
加同步吧
浩南_哥 2011-07-01
  • 打赏
  • 举报
回复
加上临界区也不行???
jayqiang 2011-07-01
  • 打赏
  • 举报
回复
你是不是还有别的线程对它有操作啊!

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧