Delphi 框架继承和复制包中的文件

Delphi 框架继承和复制包中的文件,delphi,ide,packages,custom-component,tframe,Delphi,Ide,Packages,Custom Component,Tframe,我一直在使用TFrames和ModelMaker开发许多组件——我发现可视化设计/开发+继承+ModelMaker的结合非常引人注目。然后,我使用注册单元注册这些TFrame子体,然后它们就变成了完全成熟的基于调色板的组件。我使用的是Delphi2007 在我对这个过程的小“障碍”的早期了解中,我发现通过引入我自己的“TBaseFrame”类,可以完全消除我在错误地流式处理TFrame子体时遇到的许多问题(通常在IDE中以表单形式出现,而不是框架),该类可以毫无障碍地从TFrame继承,然后使用

我一直在使用TFrames和ModelMaker开发许多组件——我发现可视化设计/开发+继承+ModelMaker的结合非常引人注目。然后,我使用注册单元注册这些TFrame子体,然后它们就变成了完全成熟的基于调色板的组件。我使用的是Delphi2007

在我对这个过程的小“障碍”的早期了解中,我发现通过引入我自己的“TBaseFrame”类,可以完全消除我在错误地流式处理TFrame子体时遇到的许多问题(通常在IDE中以表单形式出现,而不是框架),该类可以毫无障碍地从TFrame继承,然后使用它作为基类从中开发组件(添加方法、属性等)。如果我将属性和方法等添加到直接从TFrame继承的类/帧中,dfm文件流通常会混淆

所以,总的来说,一旦我解决了这些问题,效果就很好了

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

我将生成的组件安装在软件包集中,并以合理的方式分组(即,应用程序1的所有“面板”位于一个软件包中,应用程序2的多个“查看器”位于另一个软件包中,等等)

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

我可以把所有基于frame=的组件放在一个巨大的包中,但我真的,真的不愿意,因为我可以清楚地看到,考虑到我计划开发多少套组件的性质,随着时间的推移,这些组件会变得太大/无法使用。有没有其他办法来解决这一冲突



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

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

虽然我昨天曾尝试过类似的方法,但今天它似乎做到了这一点。谢谢你的帖子,如果我发现TFrame-to-component过程中的另一个“怪癖”,我会更新原来的问题。再次感谢。更新:这解决了需要文件的编译问题,但没有解决在设计时加载表单的问题。但是,可以手动加载TBaseFrame文件(我是通过Ctrl键单击加载的),而不是作为包/项目的一部分,然后关闭/重新打开子体TFrame,然后在IDE中以可视方式加载它。