我一直在使用 TFrames 和 ModelMaker 开发许多组件 - 我发现视觉设计/开发 + 继承 + ModelMaker 的组合非常引人注目。然后,我使用注册单元注册这些 TFrame 后代,它们从那里成为成熟的基于调色板的组件。我正在使用Delphi 2007。
在我了解这个过程的小“障碍”的早期,我发现通过引入 TFrame 后代流不正确(通常在 IDE 中显示为表单,而不是框架)而遇到的许多问题可以通过引入来完全消除我自己的“TBaseFrame”类继承自 TFrame,没有任何改变,然后使用它作为基类来开发组件(添加方法、属性等)。如果我向直接从 TFrame 继承的类/框架添加属性和方法等,则 dfm 文件流通常会感到困惑。
所以,总的来说,一旦我解决了这些问题,它就工作得很好。
然而昨天,我遇到了一个新问题:
我将生成的组件安装在包集中,并以有意义的方式分组(即,App 1 的所有“面板”都在一个包中,App 2 的许多“查看器”在另一个包中,等等)。
如果包中不包含 TBaseFrame 类,则继承的 TFrame 后代组件将不会在 IDE 中加载。但是,如果我将 TBaseFrame 添加到包中,当多个包中具有相同的源 PAS 文件时,我会遇到 Delphi 报告的冲突。
I could将我所有基于框架的组件放入一个巨大的包中,但我真的非常不愿意这样做,因为我可以清楚地看到,考虑到我计划的集数的性质,随着时间的推移,它会变得太大/失控关于发展。还有其他方法可以解决这个冲突吗?
更新——有一个技巧可以让它“正常”工作——请务必阅读下面的评论。
您是否尝试过将 TBaseFrame 放入所有其他包“需要”的一个单独的包中?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)