MesReasoning.destroy;//在此异常
这句完全可以不用了。
因为Free过程掉用了destroy析构函数Delphi推荐使用Free函数,因为Free函数先判断对象指针是否为Nil,在决定是否掉用Destroy
具体请看Delphi帮助及相应的源代码ps:我不是大侠,我是菜鸟。

解决方案 »

  1.   

    procedure TMainFrm.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      try
        MesReasoning.Free; // Free会自动调用Destroy的方法,所以此句执行完后,该对象已经不存在了。
              
        // MesReasoning.destroy;//在此异常 //删调此句。
      except
        ....  end;
    end;
      

  2.   

    To 小小,chechy:   MeaReasoning.Free是它祖先类的Free.我没有重载,只是DELPHI里推荐用就试了一下.   MeaReasoning.destroy不调用的话,程序关闭后不能返回到Delphi编辑状态,哪个进程还在!
    ???谢谢各位看看了.稍后加分.
      

  3.   

    你没有重载并不意味着Free方法不会调用你的Destroy方法。(多态的功力就在这里)。
    至于那个进程还在,应该是其他问题,就Free来说,你已经释放了,不能在Destroy了。