程序有时会出错,自动退出,程序为后台自动运行,无人工操作。但有时会自动关闭,我想捕获异常信息,加在工程文件的代码段,不知行不,可以测试后好像不行,没反应,退出还是不会有消息。下面为工程文件的代码,
begin
  Application.Initialize;
  Application.CreateForm(THJMainForm, HJMainForm);
  Application.CreateForm(TDataModule1, DataModule1);
  Application.CreateForm(TDBConfigureFrm, DBConfigureFrm);
  Application.CreateForm(THYDBConnectClass, HYDBConnectClass);
  Application.CreateForm(THJDBConnectClass, HJDBConnectClass);
  try
    Application.Run;
  except
    on E:Exception do AccessLog('log\程序log.log',E.Message,1,1);   //此句把异常信息写入一个文件,但没反应,不知这样加对不对。
  end;
end.

解决方案 »

  1.   

    就是不明白啊,按理说,VCL外面就有个大大的TRY,为什么加在这里不行呢,真是搞不明白。有没有人知道是为什么啊,就算不行,我也想知道是为什么。
      

  2.   

    Application.Run并不是说运行了你所有的程序,只是它执行后,程序进入消息循环。
      

  3.   

    定义全局异常事件处理函数,捕获所有没有被捕获的exceptionApplication.OnException := AppException;AppException原型
    procedure AppException(Sender: TObject; E: Exception); 
      

  4.   

    嗯,执行代码并不是在Application.Run中