【问题标题】:Why does the compiler say "undeclared identifier" when I try to show form B from form A?当我尝试从表单 A 显示表单 B 时,为什么编译器会说“未声明的标识符”?
【发布时间】:2010-12-09 23:29:11
【问题描述】:

为什么这段代码不起作用:

procedure TFormNotification.Button3Click(Sender: TObject);
begin
  FormB.Show;
end;

我收到未声明的标识符错误。

【问题讨论】:

    标签: delphi pascal


    【解决方案1】:

    您可能在名为UnitB 的单元的interface 部分中声明了一个名为FormB 的全局变量。但是UnitA 对该单元或其内容一无所知。特别是,它不知道 FormB 这个词是什么意思——那个标识符是未声明的。

    要告诉UnitAUnitB 中声明的内容,请将UnitB 添加到UnitA 中的uses 子句

    uses Windows, SysUtils, Forms, Classes, UnitB;
    

    【讨论】:

    • 而且,界面部分不需要使用
    • 如果我可以完全编译项目,但我在“结构”面板(delphi 2010)上收到大量“未声明的标识符”消息怎么办。
    • @Kidbro,据我所知,结构视图已被永远破坏。 stackoverflow.com/q/21483883/33732
    【解决方案2】:

    您需要将声明 FormB 的单位添加到您的 uses 子句中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多