【发布时间】:2012-04-12 15:25:04
【问题描述】:
我以前从未在我的程序中注意到它,但是对于我的一个 TForm,我有一个销毁事件,它释放一个对象,被多次调用或触发。我不明白为什么。
procedure THTrendFrm.FormDestroy(Sender: TObject);
begin
LogAlarm.Free; <---Invalid Pointer Operation exception is raised
end;
提前致谢,
更新:这是我的程序关闭后的 FastMM 消息窗口。 TAlarmMsg 是从中创建 LogAlarm 的类。
【问题讨论】:
-
你试过我的建议了吗?在 Application.Run 之后,从您的 .dpr 文件中对表单对象调用 Free。
-
@DavidHeffernan 我确实采纳了你的建议,但 FastMM 仍然发现了错误。
-
我刚刚发现了我的问题。我刚刚在项目 dpr 文件中看到 Application.CreateForm(THTrendFrm, HTrend) 两次。我删除了副本,它工作正常。