我在Delphi中收到“未声明的标识符”错误,我不知道为什么?

时间:2018-10-17 08:24:27

标签: delphi delphi-7

我遇到了麻烦,不确定为什么在以下代码中出现“未声明的标识符”错误:

procedure getword;
var
  i: integer;
begin
  randomize;
  randomwordnumber := random (20) + 1;
  randomword := wordlist [randomwordnumber];
  for i:=1 to length(randomword) do word:= word + '?';
  lblrandomword.Caption := (word);
end;

这也是确切的错误代码:

[Error] Unit1.pas(138): Undeclared identifier: 'lblrandomword'

先谢谢您!

1 个答案:

答案 0 :(得分:2)

我们只能猜测,但是lblrandomword可能是表单上的TLabel。您必须使getword成为这种形式的方法。也许像这样:

  TForm1 = class(TForm)
    lblrandomword: TLabel;
    //...
  private
    procedure getword;
    //...
  end;

procedure TForm1.getword;
var
  i: integer;
begin
  randomize;
  randomwordnumber := random(20) + 1;
  randomword := wordlist[randomwordnumber];
  for i := 1 to length(randomword) do word := word + '?';
  lblrandomword.Caption := (word);
end;

或者,您可以将标签作为参数传递给getword(由 Sebastian Proske提供)。

附加说明:如果没有关于randomwordnumber的错误消息,依此类推,则可能是全局变量。通常认为这是不好的做法。