您好,我正在使用 100 多个表单的 delphi 应用程序。有一种表格称为表格 B,它派生自表格 A。
Unit B
interace
uses A;
Type
Form B = Class(Form A)
End;
现在,当我尝试在 IDE 上打开表单 B 时,我收到错误“错误验证表单:未找到 TFormA 的祖先”。但是当我打开表单 A 然后尝试表单 B 时,我可以打开表单而不会出现任何错误。 我无法找到它发生的原因。我错过了什么吗?
最佳答案
使用表单继承时要记住的两点。 dfm 文件需要声明“inherited TFormB”而不是“object TFormB”。另一项是 Delphi 在创建 TFormB 之前需要知道 TFormA 的位置。我已经有一段时间没有这样做了,如果我没记错的话,当基本表单添加到存储库时效果会更好
既然您指出您是手动完成的,请确保 dfm 中的声明使用“继承”一词而不是我上面描述的“对象”。要自行更改,请执行以下操作
1) 打开两个表单。 2)然后将TFormB视为文本 3)将其更改为继承,如下所述
inherited FormB: TFormB
Caption = 'FormB'
PixelsPerInch = 96
TextHeight = 13
end
// not
object FormB: TFormB
Caption = 'FormB'
PixelsPerInch = 96
TextHeight = 13
end
关于delphi - delphi创建表单时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11904815/