我已经使用tframes和modelmaker开发了许多组件——我发现可视化设计/开发+继承+modelmaker的组合非常引人注目。然后我用注册单元注册这些tframe子体,它们就变成了基于fledges调色板的完整组件。我用的是Delphi2007。
在我了解这个过程中的小“障碍”的早期,我发现通过引入我自己的“tbaseframe”类(它从tframe继承而来,没有任何通道),可以完全消除我在tframe后代流不正确(通常出现在IDE中,而不是帧)时遇到的一些问题,然后我们作为开发组件的基类(添加方法、属性等)。如果我将属性和方法等添加到直接从tframe继承的类/帧中,那么dfm文件流经常会混淆。
所以,总的来说,它工作得很好,一旦我解决了扭结。
不过,昨天我遇到了一个新问题:
我将生成的组件安装在包集中,按有意义的方式分组(即,应用程序1的所有“面板”都在一个包中,应用程序2的许多“查看器”在另一个包中,等等)。
如果包中不包含TbaseFrame类,则不会在IDE中加载继承的Tframe子代组件。但是,如果我向包中添加tbaseframe,当它在多个包中具有相同的源pas文件时,就会遇到冲突delphi报告。
我
能够
把我所有基于帧的组件放在一个巨大的包中,但是我真的,真的不喜欢,因为我可以清楚地看到,随着时间的推移,随着时间的推移,这将变得太大/失去控制,考虑到我计划开发的集合的性质。有没有其他方法来解决这场冲突?
更新——有一个让它“正常”工作的诀窍——一定要阅读下面的评论。