读书人

如何在showModal子窗体创建多线程呢

发布时间: 2012-10-11 10:16:10 作者: rapoo

怎么在showModal子窗体创建多线程呢?
在formmain创建多线程正常,
在groupForm创建多线程报错,
groupForm := TFormGroup.Create(self);
groupForm.showModal;
FreeAndNil(groupForm);

要把groupForm传进多线程才行,但是感觉有问题,是这样操作的吗?

constructor Create(vForm:TFormGroup);

[解决办法]
给你分析一下吧:在这整个工程中,form1是主窗体,它的实例在dpr文件的application.CreateForm()中创建。但单元文件中定义的变量form1,form2只是一个空的标识符,真正的实例需要语句创建。在线程中调用的vForm := TForm2.Create(Application);与Form2并不是同一个东西,自然也就没效果。你应将TTestThread构造函数改为
constructor Create(vForm:TForm2);并在TTestThread中用一个成员保存vForm的值,调用时用vForm.Caption:=inttostr(i); 而不是Form2.Caption:=inttostr(i); 这样就行了

读书人网 >.NET

热点推荐