【发布时间】:2012-08-07 22:36:04
【问题描述】:
您好,我有使用 100 多种表格的 delphi 应用程序。有一种表格叫表格 B,它是从表格 A 派生的。
Unit B
interace
uses A;
Type
Form B = Class(Form A)
End;
现在,当我尝试在 IDE 上打开 Form B 时,我收到错误消息“错误创建表单:未找到 TFormA 的祖先”。但是当我打开表格 A 然后尝试表格 B 时,我可以打开表格而不会出现任何错误。 我无法找到它发生的原因。我错过了什么吗?
【问题讨论】:
-
你是用IDE从FormA继承FormB,还是手动做的?
-
所以您正在使用表单继承。要记住两个项目。 dfm文件需要声明“inherited TFormB”而不是“object TFormB” 另一项是Delphi需要知道TFormA在哪里才能创建TFormB。我已经有一段时间没有这样做了,如果我没记错的话,将基本表单添加到存储库时效果会更好。
-
@serg:不只是手动完成的。
-
@GDF:是的,我正在使用继承
-
既然您指出您是手动完成的,请确保您打开了两个表单。然后将 TFormB 视为文本,并将其更改为继承,就像我在第一条评论中描述的那样。将 2 cmets 包装成一个答案帖