我有一些从TMyForm
继承的表单(TMyForm
是一个带有源代码形式的第三方组件)。
当我在IDE中打开时,我的表格继承自TMyForm,我有:
创建表单时出错:Ancestor for 找不到“TMyForm”。
解决方法是在IDE中打开TMyForm
单元,然后尝试打开我继承的表单。
但是我怎么能避免Delphi出现这个错误并且即使在IDE中没有打开TMyForm
也可以打开我的表单?
答案 0 :(得分:14)
您需要在IDE中打开父表单或将其添加到项目中,遗憾的是没有解决方法。在这里:Register custom form so I can inherit from it from multiple projects, without copying the form to the Object Repository folder我尝试了很多很多东西,没有成功。
答案 1 :(得分:3)
我的解决方法。有几种方法:
会自动打开所有子表单:
Ticket,创建于大约10年前:http://qc.embarcadero.com/wc/qcmain.aspx?d=8376
在这里,您可以下载Delphi XE2的版本:https://bitbucket.org/hemn/autoopenunit
我推荐它!
答案 2 :(得分:2)
答案 3 :(得分:1)
我一直在寻找解决方案,似乎终于找到了解决方案。
我正在使用具有几种基本形式和框架的包装。
我已将它们添加到存储库中,但仍然出现错误。
某些表单和框架在项目管理器中未显示“ dfm”,这似乎很关键,是编辑.dpr文件并在大括号中添加名称:
fIBSConnectionForm in 'GUI\BaseGUI\fIBSConnectionFrom.pas',
进入
fIBSConnectionForm in 'GUI\BaseGUI\fIBSConnectionFrom.pas' {frmIBSConnectionForm},
对于框架,请确保使用{f ...:TFrame}
这样做并重新启动Delphi之后,我可以再次打开后代表单!