包中的帧继承和重复文件

时间:2009-06-24 18:02:15

标签: delphi ide packages custom-component tframe

我使用TFrame和ModelMaker开发了许多组件 - 我发现视觉设计/开发+继承+ ModelMaker的组合非常引人注目。然后我注册了这些带有注册单元的TFrame后代,它们从那里成为完整的基于调色板的组件。我正在使用Delphi 2007。

在我学习这个过程的小“障碍”的早期,我发现我会遇到一些问题,我会遇到TFrame后代不正确地流式传输(通常在IDE中出现的形式,而不是帧)可能是完全的通过引入我自己的“TBaseFrame”类来消除,该类继承自TFrame而没有chanegs,然后使用THAT作为基类来开发组件(添加方法,属性等)。如果我将属性和方法等添加到直接从TFrame继承的类/帧中,则dfm文件流通常会混淆。

所以,总的来说,一旦我解决了问题,它就会很好用。

昨天,我遇到了一个新问题:

我将结果组件安装在软件包集中,按照有意义的方式分组(即App 1的所有“面板”都在一个软件包中,App 2的许多“查看器”在另一个软件包中,等等)。

如果TBaseFrame类未包含在包中,则继承的TFrame-descendant组件将不会加载到IDE中。但是,如果我将TBaseFrame添加到包中,我遇到了Delphi报告的冲突,当它在多个包中具有相同的源PAS文件时。

可以将我所有基于框架的组件放入一个巨大的包中,但我真的,我真的不愿意,因为我可以清楚地看到它会变得太大/无法控制考虑到我计划开发多少套的性质,随着时间的推移。有没有其他方法可以解决这个冲突?


更新 - 有一个技巧让“正常”工作 - 请务必阅读以下评论。

1 个答案:

答案 0 :(得分:3)

您是否尝试将TBaseFrame放在一个单独的包中,而所有其他包都是“必需的”?