是否可以使用RegisterExpectedMemoryLeak
过程来注册接口?
我声明了一个私有字段:
FDragDropTarget: IDropTarget;
我随后创建了这个实例,并尝试为该对象注册已知的内存泄漏:
FDragDropTarget := TDropTarget.Create(lcMain.Handle, FDragDrop);
RegisterExpectedMemoryLeak(FDragDropTarget);
然而,我收到一个编译器错误,指出存在不兼容的类型:'Pointer'和'IDropTarget'。 对我来说,我的接口实例无论如何都是指针?所以我能做到这一点吗?这是通过我在.dpr文件中拥有的ReportMemoryLeaksOnShutdown := True语句报告的。
begin
ReportMemoryLeaksOnShutdown := True;
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
TDropTarget是我对IDropTarget接口的实现:
TDropTarget = class(TInterfacedObject, IDropTarget)
...
end;
谢谢