问一个关于TApplicationEvents组件用法的一个问题?

时间:2023-01-31 18:37:19
在窗体上添加一个TApplicationEvents组件,处理OnException事件。

procedure TForm1.ApplicationEvents1Exception( Sender: TObject, E: Exception);
begin
  ...
end;

在这个事件处理函数中有一个E: Exception参数,是不是只要应用程序一旦发生
Exception,就会首先执行这个函?  可是在我的应用程序中对数据库进行操作,
一旦发生错误,系统出错退出,是怎么回事?  
()如果系统中有2个TApplicationEvents的OnException函数该如何?

*:主要想知道TApplicationEvents组件的确切含义和用法?非常感谢!

3 个解决方案

#1


up

#2


只有该错误没有经过处理时,才会响应OnException事件。比如:
  try
    Table1.Close;
    Table1.Post;
  except
  end;
不会触发OnException。而
    Table1.Close;
    Table1.Post;
则会。

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————

#3


如果有多个ApplicationEvents,那么会触发所有的OnException事件。除非在其中某个事件中调用了ApplicationEvents.CancelDispatch.

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————

#1


up

#2


只有该错误没有经过处理时,才会响应OnException事件。比如:
  try
    Table1.Close;
    Table1.Post;
  except
  end;
不会触发OnException。而
    Table1.Close;
    Table1.Post;
则会。

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————

#3


如果有多个ApplicationEvents,那么会触发所有的OnException事件。除非在其中某个事件中调用了ApplicationEvents.CancelDispatch.

—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————