创建窗体: if not assigned(form1) then form1:=tform1.Create(application); form1.Show; 但是执行完action:=cafree; form1:=nil; 重新打开form1时,并没有执行:form1:=tform1.Create(application);还有一个问题:有的时候 form1.close 这句语句编译出现如下错误: undeclared identifier:'close' 假如用self.close 则不会出现错误,请问为什么?
一般我们使用Close默认都是self.Close;当使用form1.Close的时候,那么form1必须是TForm的一个实例,当然也可以是其子类的一个实例,并且在该位置form1实例是可见的。在delphi编程中,一般都在implmentation上面自动添加了如下一行代码 var Form1: TForm1; 自动定义了一个form1实例,所以在下面的过程或者函数中就可以使用form1.close了,如果没有前面这个声明,form1.close就不能使用了。
if not assigned(form1) then
form1:=tform1.Create(application);
form1.Show;
但是执行完action:=cafree; form1:=nil; 重新打开form1时,并没有执行:form1:=tform1.Create(application);还有一个问题:有的时候 form1.close 这句语句编译出现如下错误:
undeclared identifier:'close'
假如用self.close 则不会出现错误,请问为什么?
var
Form1: TForm1;
自动定义了一个form1实例,所以在下面的过程或者函数中就可以使用form1.close了,如果没有前面这个声明,form1.close就不能使用了。