如何在不编辑所有表单的情况下巧妙地在所有 FormCreate 事件中添加一行代码?

How to smartly add a line of code in all the FormCreate events without editing all forms?

我需要在我的应用程序的所有形式中调用初始化例程,它是一个 Intraweb 应用程序所以实际上我将使用 OnIWAppFormCreate 而不是 OnFormCreate,无论如何问题是一样的.

我想到了 2 个技巧:

  1. 使用可视表单继承:在本例中,我创建了一个 BaseForm,在其中实现了 FormCreate 事件,并从中继承了所有表单

  2. 我添加了一个全局过程并从所有窗体调用它

这两种技术都让我编辑每个表单。

有没有办法避免这种情况?

事实上,我需要做的是将相同的字符串添加到 TIWAppForm.ExtraHeader 字符串列表 属性。

这是我需要添加到每个表单的代码:

ExtraHeader.Add('<link rel="stylesheet" type="text/css" href="/css/mycustomcss.css">');

不知何故,我想知道是否有一种方法可以用我不知道的技术只编写一次代码。

谢谢。

最好的解决方案是从基本表单继承,即使在我几乎所有的表单中我都编写了 OnFormCreate 来实现我所做的任务:

  1. 创建一个继承自 TIWAppForm

  2. 的基本表单
  3. 在单元声明中我继承自基本形式

  4. 在 dfm 中我将 object 替换为 inherited

  5. 在我显式调用 inherited 的所有表单的 FormCreate 中