小编Ret*_*ius的帖子

Delphi演员:内存泄漏?

在Delphi中,我正在从已经创建的基类中继承一个继承的类.我相信它共享两个类之间的基类地址,但是继承的类的额外成员获得了分配给它们的额外内存,但是没有初始化.

如果然后释放共享基类,这是否会导致Inherited的类成员的内存泄漏?

如果是这样,如果我想保持基类保持不变,那么清理继承类成员的最佳方法是什么?

program Project1;

uses
  SysUtils;

type
   TBase = class(TObject)
   public
     basemember : string ;
     Constructor Create() ;
   end;

   TInherited = class(TBase)
   public
     inheritedmember : string ;
     Constructor Create() ;
   end ;

   Constructor TBase.Create() ;
   begin
       basemember := 'Basemember' ;
       Writeln ('basemember') ;
   end ;

   Constructor TInherited.Create() ;
   begin
       inheritedmember := 'inheritedmember' ;
       Writeln ('inheritedmember') ;
   end ;

var
     baseclass      : TBase;
     castbaseclass  : TInherited;
begin

  Writeln ('Base Class');
  baseclass := TBase.Create();

  Writeln ('');
  Writeln ('Cast Inherited Class');
  castbaseclass …
Run Code Online (Sandbox Code Playgroud)

delphi memory-leaks

2
推荐指数
1
解决办法
168
查看次数

标签 统计

delphi ×1

memory-leaks ×1