现有如下代码,运行正常但是对里面的代吗不太理解;
....
var
Mainform: TMainform;
x1:Tform;
implementation
uses Unit2;
{$R *.dfm}
procedure TMainform.Button1Click(Sender: TObject);
begin
x1:=Tform.Create(self);
//x1:=Tform.Create(form2);
//x1:=Tform.Create(application);
//x1:=Tform(form2);
x1.Show;
end;procedure TMainform.Button2Click(Sender: TObject);
begin
x1.release;
x1:=nil;
end;
问题1:x1:=Tform.Create(self);
x1:=Tform.Create(application);
x1:=Tform.Create(form2);
x1:=Tform(form2);
以上四句有何区别,前三句执行后的结果好象是一样的;问题2:x1:=nil是什么意思,nil是不是代表空指针,如果nil是空指针。那么x1应该是一个指针类型的数据啊,可x1是一个Tform类的实列啊?
请大家多多指教,谢谢1
....
var
Mainform: TMainform;
x1:Tform;
implementation
uses Unit2;
{$R *.dfm}
procedure TMainform.Button1Click(Sender: TObject);
begin
x1:=Tform.Create(self);
//x1:=Tform.Create(form2);
//x1:=Tform.Create(application);
//x1:=Tform(form2);
x1.Show;
end;procedure TMainform.Button2Click(Sender: TObject);
begin
x1.release;
x1:=nil;
end;
问题1:x1:=Tform.Create(self);
x1:=Tform.Create(application);
x1:=Tform.Create(form2);
x1:=Tform(form2);
以上四句有何区别,前三句执行后的结果好象是一样的;问题2:x1:=nil是什么意思,nil是不是代表空指针,如果nil是空指针。那么x1应该是一个指针类型的数据啊,可x1是一个Tform类的实列啊?
请大家多多指教,谢谢1
最后一句表示把form2强制转换成TForm类型后,指针赋给x1问题2,类的实例(对象)可以看成是指针。
问题2: 实列化一个类的时候 可以赋指针的~~