关于多线程,大家看看这个网站上说的对不对?
转载于:月光软件站
这里需要说明的是,由于线程单元需要调用Form的Edit控件(对象),可以采用两种方法:
1) 在线程单元定义一个TEdit对象,例如
edit4:Tedit;
在Execute过程内直接引用
但在Unit1中一定要在FormCreate过程里作一个赋值:
procedure TForm1.FormCreate(Sender: TObject);
begin
thread1.edit4:=edit1;
end;
这样,就把第一线程的edit4与Form上的edit1联系来。
2)在第二个线程中首先声明调用Unti1,也就是要加上
Uses Unit1;
这样就可以在该线程单元直接调用主Form的控件了,比如在Unit3中可以写:
form1.edit2.text:=inttostr(i)
了解了这些基本规则,就可以写出比较复杂的多线程程序了。
还有一点要说明的,默认生成的线程单元,调用的单元只有一个: