试一下free方法,可能close方法没有调用类的析构函数!

解决方案 »

  1.   


      另外:
        
         我不用FreeObject而是直接在重载控件的析构 函数,
     在析构函数中直接释放资源,也是不行的!
     甚至我在析构函数中,对WordDoc的一个属性操作也会出来地址错误
    比如:
    destructor TWebWord.Destroy;
    var i:integer;
    begin  …………
      …………
      WordApp.CommandBars['standard'].Set_Enabled(true);//在此会出错(可以保证WordApp一定存在而且已经启动)  inherited;
    end;
         
       
      
      

  2.   

    destructor TWebWord.Destroy;
      var i:integer;
    begin  …………
      …………
      WordApp.CommandBars['standard'].Set_Enabled(true);//在此会出错(可以保证WordApp一定存在而且已经启动)  inherited;
    end;
         这真是个奇怪的问题…… 现在发现在Destroy过程中根本不能操作WordApp吗?
        我的WordApp是从server中拖放出来的放在form上的一个控件,难道在Destoy中已经被释放掉了所以不能调用吗? 不至于吧。我觉得! 
      

  3.   

    如果你实在没有办法找出原因,可以在MainForm的Destroy用ExitProccess(0);退出
    ,用此法应该可以避免出现异常。
      

  4.   

    to: softwing(向前看)其实如果只是关闭word的话,我可在自己写的FreeObject中操作然后在外边显式的调用。我只是不明白为什么会出错!