多线程调用一个函数 我想在多线程中调用一个函数function GetListBoxText(mHandle: THandle; mStrings: TStrings): Boolean;请问具体该怎么实现?最好有代码解说 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 注意同步即可,看线程向导中的注释,关于synchronize的 GetListBoxText仅仅只是取得ListBox当中的数据,只须发送一个消息即可,所以不需要同步,同步只在存在写入过程当中需要。 用事件与临界区都行~我是对对象进行保护~Uses SyncObjs;type TEnhancedCriticalSection = class(TCriticalSection) public function TryEnter: boolean; end;varimportCritSec: TEnhancedCriticalSection;procedure ImportOrders;beginimportCritSec.Acquire; try try objImport := TOImport.Create(jobReq); objImport.Execute; finally if assigned(objImport) then objImport.Free; end; finally importCritSec.Release; end;end; 写一个类,继续于TThread,然后重载Execute过程。在execute写代码就是在线程当中执行了。如果需要访问VCL,主要是需要改写VCL对象的属性或数据等,为防止冲突,需要通过同步函数来调用。 严重同意 unsigned线程不是让人用来滥用的。同步只有在涉及读写的时候才需要。 严重同意liangpei2008用临界区保护起来如果函数不大,直接封到线程里去如果调用很频繁,放到动态库里去 VCL UI不是线程安全的,须用Sync方法 模仿QQ的小键盘控件以及圆形密码 Delphi IDE Error(散分) 状态栏如何使用? 求 中文delphi 7企业版本下载 使用组件的困惑! 请问怎样调出windows的某个文件夹或文件的属性窗口? 各位大侠:如何控制dbgrid中行的背景显示颜色问题?先谢! 555分没有了,诚心问个问题,给DBGrid1.Columns[4].PickList赋值时为什么不分行显示? delhpi通过odbc接另一台机器上的sql,是用bde快还是ado快 表的全copy 急!在线等!两台机子同时往数据库里写数据报错怎么解决,有人讲用事务,我不太会用 这样赋值有问题吗? dll 函数
我是对对象进行保护~Uses
SyncObjs;type
TEnhancedCriticalSection = class(TCriticalSection)
public
function TryEnter: boolean;
end;
varimportCritSec: TEnhancedCriticalSection;procedure ImportOrders;
begin
importCritSec.Acquire;
try
try
objImport := TOImport.Create(jobReq);
objImport.Execute;
finally
if assigned(objImport) then
objImport.Free;
end;
finally
importCritSec.Release;
end;
end;
同步只有在涉及读写的时候才需要。