易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi多线程操作同一个listview,怎么办?

我有两个线程同时处理界面中的一个ListView
线程1:
我自己建立的线程类 对象 mythreadObj:
  Execute()方法是一个死循环,循环内部有个这样的语句处理ListView
 
    aListItem:=form1.ListView1.Items[i];
    Synchronize(SetlistItemicon); //方法setlistitemicon 是设置所选的项的图标
    。。。。。。。
  。。。。。
end;

线程2中,我用一个timer定时器:
  每隔一段时间,就刷新整个Listview中的列表。
  就是每隔一段时间,就从一个数组中取出数据,根据数据生成listview中的item
 
  listview1.clear;
  根据数组内容,添加Item

我运行程序的时候,有时会出现异常,
应该是 两个线程间  同时操作Listview,所以出现异常


怎么处理呀。希望大虾给个 思路和帮我上面的加段代码
没做过多线程的,帮帮忙,急 急  急

为什么要在线程中操作VCL啊。

//线程单元内
uses SyncObjs;

//定义一个全局变量
var
  CS: TCriticalSection;
 
在操作LV之前调用:
CS.Enter;
操作完成后:
CS.Leave;

initialization
  CS := TCriticalSection.Create;
finalization
  CS.Free;


线程中操作VCL很正常,比如多线程下载列表就有可能会用到

使用同步方法调用函数,这个函数调用会在主线程中调用,不会产生楼主所说的“应该是 两个线程间  同时操作Listview


相关问答:

Delphi 像亡国的南宋,试问这语言还有前途吗?

Delphi 像亡国的南宋,试问这语言还有前途吗?
Win32开发不如C#;
面像对像开发不如JAVA;
系统开发不如VC++6.0;
能用性不如VB6.0;
不支持Web开发。。。
出个Delphi 2010免费一年会有人用吗? ......

delphi編寫自動更新程序

由于客戶端有的文件經常更新(遠程的,不是局域網),
所以想寫個自動更新的 程序。
看網上的 方法資料,知道些方法,但不知道具體怎么寫。
......

delphi idhttp cookies提交

我先用idhttp 的get方法访问一个网站,网站返回了一段cookie,当我 调用 idhttp post方法的时候,我如何把服务器返回的这段cookies带上 ,先谢谢各位了 
读取 HTTP Response Header
里面有 Set-Cookies 域 ......

如何在delphi里用代码实现创建VPN连接?

我的代码如下,怎么总提示连不成功:
type
  GUID = record //申明调用RAS(创建VPN连接用)函数所需结构体
  Data1: integer;
  Data2: Shortint;
  Data3: Shortint;
  ......

高分求救,delphi写的dll反编译问题

用DEDE打开一个DLL,找到需要的函数了,但是显示的都是汇编代码,看不懂,恳请高手驻足帮忙啊!
是一个KEYPRESS响应函数,功能是在按下enter后判断输入的字符,我想按照自己的需求跳转,但是
找不到位置,高手 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号