uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls;type
TMyClass=class
private
ls:tstringlist;
protected public
constructor Create;
destructor Destory;
function test():integer;
end;
implementation{ TMyClass }constructor TMyClass.Create;
begin
ls:=tstringlist.Create;
end;destructor TMyClass.Destory;
begin
freeAndNil(ls);
end;function TMyClass.test;
begin
result:=ls.Count;
end;end.
上面的代码的TMyClass类的Destory没有被编译,也不会执行.是什么原因呢?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls;type
TMyClass=class
private
ls:tstringlist;
protected public
constructor Create;
destructor Destory;
function test():integer;
end;
implementation{ TMyClass }constructor TMyClass.Create;
begin
ls:=tstringlist.Create;
end;destructor TMyClass.Destory;
begin
freeAndNil(ls);
end;function TMyClass.test;
begin
result:=ls.Count;
end;end.
上面的代码的TMyClass类的Destory没有被编译,也不会执行.是什么原因呢?
begin
freeAndNil(ls); inherited; ----> 调用基类
end;
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls;type
TMyClass=class
private
ls:tstringlist;
protected public
constructor Create;
destructor Destroy; override;
function test():integer;
end;
implementation{ TMyClass }constructor TMyClass.Create;
begin
ls:=tstringlist.Create;
end;destructor TMyClass.Destroy;
begin
freeAndNil(ls);
inherited;
end;function TMyClass.test;
begin
result:=ls.Count;
end;end.