转载于:月光软件站这里需要说明的是,由于线程单元需要调用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)   了解了这些基本规则,就可以写出比较复杂的多线程程序了。
   还有一点要说明的,默认生成的线程单元,调用的单元只有一个:

解决方案 »

  1.   

    可能有一定的道理吧,以前真没有注意过,不过和C++中的东东差不多感觉,试试不就行了?但是对VCL操作在多线程是不太安全,
      

  2.   

    我的天,
    看一看Win32多线程程序设计吧。
      

  3.   

    Edit控件设置Text属性本身就是线程安全的呵呵, 因为它设置Text用的是WM_SETTEXT消息. 即使你在线程中调用它也是在主线程中实现的,不存在线程冲突. 不安全的是设置Font属性