原创 delphi7中create(nil)与create(self)区别

2011-4-20 10:25 3957 4 4 分类: 软件与OS
Create(nil);//需要自己释放   
Create(Self);//当Self释放时自动触发释放
Create(Application) ---- 同上,由Application对象负责回收。
self   代表当前类;
如果在tform2中
procedure   TForm2.Button1Click(Sender:   TObject);
var
    ff:tform1;
begin
      ff:=tform1.Create(self);
end;
此时self   为tform2     form2释放时   ff也使放了;

在工程文件中

var
    ff:Tform1;
begin
    Application.Initialize;
    Application.CreateForm(TForm2,   Form2);
    ff:=tform1.Create(self);
    Application.Run;
end.
你连编译也过不了;self不知该指向何方
只能
ff:=tform1.Create(application);
ff:=tform1.Create(nil);

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条