Delphi帮助说要么覆盖表单的构造函数,要么使用OnCreate事件.但不要两者都做.这是什么原因?我唯一能看到的是,如果继承被遗留在后代的构造函数中,TCustomForm.Create将不会被调用.因此,OnCreate在这种情况下不会被调用.但如果没有遗漏继承,我不会看到问题.
编辑:我应该添加我的问题的原因.我实际上并不打算在同一个班级中使用它们.但是当一个后代已经在使用OnCreate时,我正在考虑覆盖基类中的构造函数.所以我想知道是否存在某种我不知道的冲突.但我得到的印象应该没问题.虽然我可能只是在基类中使用OnCreate来保持它的一致性.
另一个编辑:感谢大家的帮助.所以看起来使用这两种方法实际上不会破坏任何东西,如果你正确地做到了.但这样做的问题在于它使代码难以理解.而且我想我应该选择一个最佳答案,但每个人似乎都同意.所以我会选择那个
先发布.
解决方法
您最终可能会在两个不同的位置放置相同或相似的代码.我几乎总是自己使用OnCreate事件.