假设我有这样的情况:
ITest = interface
procedure somethingHere();
end;
TImpl = class(TInterfacedObject, ITest)
procedure somethingHere();
end;
TImplSub = class(TImpl)
end;
如果我不使用try-finally语句,那么在上面的代码中,我可以使用这种代码而不会有任何内存泄漏:
var a: ITest;
begin
a := TImpl.Create;
end;
子类也适用吗?
var a: ITest;
begin
a := TImplSub.Create;
end;
我认为由于TImplSub是TImpl的子类,所以TImplSub继承了父类的TInterfacedObject和ITest。上面的代码会泄漏吗?
这可能与此无关,但如何检查上面的代码是否泄漏?