Я получаю ошибку "необъявленный идентификатор" в Delphi и не знаю почему? - PullRequest
0 голосов
/ 17 октября 2018

У меня проблемы и я не уверен, почему я получаю ошибку «Необъявленный идентификатор» в следующем коде:

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 голосов
/ 17 октября 2018

Мы можем только догадываться, но 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 в качестве параметра (любезно предоставлено Себастьян Проске ).

Дополнительные примечания: Еслинет никаких сообщений об ошибках относительно randomwordnumber и т. д., это, вероятно, глобальные переменные.Обычно это считается плохой практикой.

...