我创建了一个自定义框架并将其注册为组件,如“如何改进 Delphi 框架的使用”中所述
一切开始都很好,正是我所需要的。但是,当使用我的框架包和我的主要项目打开一个项目组时,事情就会崩溃。
当我在 IDE 中关闭并重新打开我的项目时,从 DFM 中读取我发布的属性时出现错误。这是典型的“找不到属性 XX;忽略、取消、全部忽略”错误。
如果我忽略所有错误,组件将恢复为像框架一样的行为。例如,我可以将内部控件拖动到不同的位置。如果我从框架中删除任何已发布的属性,加载错误就会消失,但 IDE 中的行为仍然是框架而不是组件。
这似乎与我有一个项目组集有关,其中包含我的主要可执行文件、带有框架的包以及带有框架注册码的设计包。如果我自己打开主项目,我的表单打开时没有任何错误,并且注册的框架的行为符合预期/预期。
这就像IDE在找到注册包之前感到困惑并在加载的项目中找到框架。
一个明显的解决方案是不使用项目组,而是单独使用它们,或者不使用框架将其转换为真正的组件。我希望有一种方法可以继续使用框架来直观地设计组件并将它们保存在一个项目组中(我喜欢能够进行 Build-All 并且知道所有内容都会立即重建)