threadvar :API 线程局部存储..........\买本DELPHI 5开发人员指南看看 就OK了
解决方案 »
- treeview全部展开后怎么让其scrollbar返回最上面
- delphi函数在不同源代码文件中的函数声明
- Ado Post时出错
- 想了解一下大家一般使用什么控件做报表?
- 如何实现关键字查询?
- BlueTrees与DbExpress在哪,来领分,并且还有问题要请教
- 关于方向键判断的问题
- 关于压缩解压的问题
- 不,我指的是怎么让*.xls显示在dbgrid上,而我用的时候需要登陆...?
- 请大家提议:delphi编写大型办公系统比Lotus Notes好吗?
- 一个想不通的问题, 为什么有些部件在W2000下面就会出现 kennel32 错误呢?在98/ME下面工作完好不能再好了:(?
- 帮帮忙。各位,关于update语句,如果不是全部字段需要更新,怎办
是的,freeonterminate:=true,那么 execute 函数执行结束了以后自动的free这个线程实例
这样是不对的,因为此时实例已经被释放了。你不想释放可以 freeonterminate := False
2。你可以不用freeonterminate
threadvar X: Integer;
注意:
(1)不能在函数和过程中使用线程基变量;
(2)不要定义指针线程基变量,不要在非包(bpk)类的动态库(如dll)中使用线程基变量;
(3)动态线程基变量(long strings、 wide strings(通过设为''), variants(通过设为Unassigned), dynamic arrays、 and interfaces(通过设为nil))需要代码释放内存资源。
2、TThreadList只是用来存储多个线程的指针(注意不是一个Copy,而是一个refrence),便于批量操作。线程被存放在一个TThreadList里并不影响线程本身的Terminate和Free。FreeOnTerminate=True,则线程终止执行(Execute退出或者线程的Terminated属性被认为设为True,或者调用Terminate method)后自动销毁。
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
I.Desire := '加不加分随你';
—————————————————————————————————