我有一些继承自TMyForm
的表单(TMyForm
是一个具有源代码形式的第三方组件)。
当我在IDE中打开从TMyForm
继承的表单时,会出现以下错误:
创建表单时出错:找不到“TMyForm”的祖先。
解决方法是在IDE中打开TMyForm
单元,然后再尝试打开我的继承表单。
但是我该如何避免Delphi给出这个错误,并能够打开我的表单,即使TMyForm
没有在IDE中打开?
您需要在IDE中打开或将父表单添加到项目中,不幸的是,没有其他方法。在这里:在多个项目中注册自定义表单以便继承它,而无需将表单复制到对象存储库文件夹中,我尝试了很多次都没有成功。
我的解决方法。有几种方法:
这样可以自动打开所有子窗体:
关于此问题的支持请求已创建约10年: http://qc.embarcadero.com/wc/qcmain.aspx?d=8376
在此处可下载适用于Delphi XE2的版本: https://bitbucket.org/hemn/autoopenunit
我推荐使用它!
fIBSConnectionForm in 'GUI\BaseGUI\fIBSConnectionFrom.pas',
转换为
fIBSConnectionForm in 'GUI\BaseGUI\fIBSConnectionFrom.pas' {frmIBSConnectionForm},
对于框架,请确保使用 {f...: TFrame}。
这样做并重新启动 Delphi 后,我可以再次打开派生表单!