线程终止的问题(50分)

  • 主题发起人 主题发起人 lincker
  • 开始时间 开始时间
L

lincker

Unregistered / Unconfirmed
GUEST, unregistred user!
我在主窗口form1中创建线程,TmyThread类在另一个unit12中定义,
在主窗口form1中:
implementation
uses unit12;
var
myThread:TmyThread;
程序中 myThread:=TmyThread.Create;
然后弹出一个显示进度窗口,有一个终止的按钮,我在这个form中怎么引用myThread?
我在终止的程序中写form1.myThread,报错,直接写myThread也报错,说没有声明。
应该怎么引用?
 
直接调用。。
mythread
 
myThread:=TmyThread.Create(false);
or
myThread:=TmyThread.Create(true);
Create必须带参数,false,true指线程创建时是否运行
 
uses Unit1;//引用Form1单元
在进度FORM中
uses Unit1;//引用Form1单元
然后直接调用
mythread
 
直接调用TERMINATE方法。
但注意:myThread变量要是公共变量,如:PUBLIC等。
 
我就是这么做的,在进度form中uses了form1,连unit12都uses了。
然后直接用mythread,还是报错
[Error] Unit5.pas(41): Undeclared identifier: 'myThread'
我在主form1中是在
implementation下定义的,这样没错吧?
uses unit12;
var
myThread:TmyThread;
 
>>我在主form1中是在implementation下定义的
这样不行了,implementation是单元实现的代码,你要在implementation前定义,
可以直接加在Form1后:
var
Form1: TForm1;
myThread:TmyThread;
 
接受答案了.
 
后退
顶部