一个窗口定义后出现的错误 ( 积分: 100 )

  • 主题发起人 主题发起人 暗夜中独舞
  • 开始时间 开始时间

暗夜中独舞

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有三个窗口Form1,Form2,Form3,其中只有Form1是Auto-create的
现在我在Unit1 中定义Form2: TForm2;
Form2 := TForm2.Create(nil);
Form2.Show;
然后在 Unit2 中定义 Form3
TForm3 ;
Form3:=TForm3.Create(nil);
Form3.Show;
然后在 Form3中关闭Form2
Form2.Close;
这样运行的时候就出错了。。。。
如果不在UNIT1和UNIT2中定义FORM2和FORM3就不会出错

为什么?
 
应该是重复定义了吧
如果要引用重复定义的变量,用unit1.form2.close
 
你这样当然会出错,你的窗体creat序是:form1->form2->form3
close时应当反向;
如你写的:“然后在 Form3中关闭Form2,Form2.Close出错”
常识问题!
建议:
begin
if FindComponent('wageitem_Form')<>nil then
begin
wageitem_Form.Show;
EXIT;
end
else
begin
wageitem_Form:=twageitem_Form.create(mainform);
wageitem_Form.Show;
end;
end;
 
多人接受答案了。
 
后退
顶部