TInterfaceObject的引用计数的问题
ITest = Interface
['{4979F659-C4BA-4F01-B09F-A4E7AA5022F1}']
procedure Excute;
end;
TTest = (TInterfaceObject, ITest)
private
ID: integer;
public
Excute;
end;
var
tt:TTest;
procedure Create;
begin
if not assigned(tt) then tt := TTest.Create; //此时tt的引用计数怎么还是0?
Insert(tt); //tt的引用计数变为1
Remove(tt); //tt的引用计数变为0,被释放了
tt.Execute; //访问非法地址
end;
procedure Insert(aItest: ITest);
begin
FList.Insert(aItest); //FList是TInterfaceList;
end;
procedure Remove(aItest:ITest);
begin
FList.Remove(aItest);
end;
为什么tt被创建以后引用计数还是0?