现有如下代码,运行正常但是对里面的代吗不太理解;
....
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
解决方案 »
- delphi 对象复制问题 (在线等)
- 请问直角坐标系下的曲线怎么画?
- com的本质是什么呀?是不是以dll的形式体现出来呀?还以什么形式体现呀?现在说com技术面临淘汰是指什么呀?为何要淘汰?
- 急问:在Delpi中不没有用来进行USB通讯的第三方控件?
- 面对TCollection,我…… 我快抓狂了。记于此,大家引以为戒。
- Com+应用程序代理与直接安装com+组件有什么区别?
- 请问如何在报表上画出一个表格,然后将一个数据表的数据正好填在表格内打印呢?
- 事务和锁的问题
- listview在vsreport类型是不是不能设置item.data啊?
- 當在程序中打開一個數據庫窗體時﹐有時會出現"Access Violation at address 004032be in module 'MyTest.exe',Read of Address 44427070
- Delphi调用VC编译的DLL
- **********我是做开发的,现在主攻3DMAX,做三维动画,大家说有前途吗,招这方面的都是什么公司,工资高吗,谢谢了
最后一句表示把form2强制转换成TForm类型后,指针赋给x1问题2,类的实例(对象)可以看成是指针。
问题2: 实列化一个类的时候 可以赋指针的~~