delphi 2010多线程使用
2015-06-05 17:01
573 查看
delphi 2010多线程使用 TRefreshThread = class(TThread) protected procedure Execute; override; public pMainForm:TForm_case_materal_list; end; procedure TRefreshThread.Execute; begin inherited; try CoInitialize(nil); // 一定要加上此行代码 use ActiveX FreeOnTerminate := True; pMainForm.RefreshData(); // 使用这个是真正的开启子线程 // Synchronize(Self, pMainForm.RefreshData); //fuck 这个使用的还是主线程。可以通过GetCurrentThreadId 测试 finally CoUninitialize; // 一定要加上此行代码 end; end; procedure TForm_case_materal_list.startRefreshThread; var refreshThread: TRefreshThread; begin refreshThread := TRefreshThread.Create(True); //把窗体句柄传进来 refreshThread.pMainForm:=Self; refreshThread.Start; end; procedure startRefreshThread(); 在Delphi 多线程中出现“尚未调用CoInitialize错误”的解决方法 解决方法如下: function TMyThread.ExecTimer: Boolean; begin Result := False ; FMyThreadExecfinish := False; Screen.Cursor := crHourGlass; CoInitialize(nil); // 一定要加上此行代码 try TranspondClientBaseData_factory1(HTTPRIOLeExp, HTTPRIONC, LogStrings); Sleep(1000); TranspondPersonBaseData_factory1(HTTPRIOLeExp, HTTPRIONC, LogStrings); Sleep(1000); TranspondDeptBaseData_factory1(HTTPRIOLeExp, HTTPRIONC, LogStrings); finally Result := True; FMyThreadExecfinish := True; Screen.Cursor := crDefault; CoUninitialize;// 一定要加上此行代码 end; end;
相关文章推荐
- 【2015-6-5】Delphi学习笔记
- delphi “div”、“mod”、“\”除法运算符的区别与使用方法
- delphi VCL研究之消息分发机制(转)
- delphi使用 第三方控件
- 发现个delphi调用vc写的Dll中包含pchar参数报错奇怪现象
- delphi身份证验证
- Delphi之TComponent类
- DELPHI 动态 创建和释放 多个 EDIT 控件
- delphi XE8 正式破解版下载、注册码
- delphi7及控件安装
- Delphi程序的自我修改
- Delphi中TList类应用
- delphi ocx在IE8下调试不能断点的问题
- Delphi 2007 一段代码手工折叠
- 使用Delphi实现JNI - 实例
- Delphi TcxComboBox控件说明
- 在delphixe7 编写dll中发现的问题s
- 使用Delphi实现JNI - 3
- 使用Delphi实现JNI - 2
- Delphi编译选项