相关疑难解决方法(0)

Delphi 是否提供用于表单创建通知的事件处理程序?

Delphi 是否提供某种用于表单创建的事件或挂钩(或者更一般地说,表单生命周期事件)?

因此,如果在代码中的某处创建并显示表单(模态或非模态,动态或在通常的应用程序启动阶段),Delphi 会调用一个事件处理程序,该处理程序允许在显示之前记录/分析/修改表单?

我知道有一些选项涉及引入基本表单类或自定义表单创建过程,但对于已经拥有许多表单的现有应用程序来说,“最好”有一个非侵入性选项来添加类似于横切关注点的内容在面向方面编程(AOP)中。

例如,如果我有一些用于注入额外事件处理程序的使用情况统计跟踪代码,我可以简单地为每个表单添加此功能,开发人员不必更改应用程序代码,只需添加与此类似的代码

...
   Application.OnNewForm := MyNewFormCreated;
...

procedure TMyApp.MyNewFormCreated(Sender: TCustomForm);
begin
  // iterate over components and do other stuff with the new form
  ...
end;
Run Code Online (Sandbox Code Playgroud)

forms delphi aop dynamic

5
推荐指数
2
解决办法
1842
查看次数

标签 统计

aop ×1

delphi ×1

dynamic ×1

forms ×1