为什么多线程里,找不到窗体对象?------------大虾帮看看
本帖最后由 cowboamo 于 2012-12-05 20:51:58 编辑 下面的代码在新建的一个程序里可以执行多线程,
但为什么我把代码移植到项目里的Inforform就不行了?
..
我的项目代码里的文件,该窗体是通过show生成的,
运行下面的代码,就会说找不到自身窗体Inforform?
但当我把窗体设为启动时加截就不会报错,
只是运行时不会出现进度条加载的过程..
到底错在哪了?
{声明多线程}
type
TMyThread = class(TThread)
protected
procedure Execute; override;
end;
procedure TMyThread.Execute;
var
i:Integer;
begin
FreeOnTerminate := True; {这可以让线程执行完毕后随即释放}
mainform.ProgressBar1.Max := 600000;
for i := 1 to 600000 do
begin
mainform.ProgressBar1.StepBy(1);
end;
end;
procedure TMainForm.FormShow(Sender: TObject);
begin
TMyThread.Create(False); //调用
end;