Указание на другую переменную процедуры - PullRequest
0 голосов
/ 22 сентября 2019

То, что я ищу, - это использование переменной процедуры с другой процедурой, использующей указатели.

Пример:

Procedure Test1;
var
Word:String;
begin
Form1.Caption:=Word;
end;

Procedure TForm1.Button1Click(Sender: TObject);
begin
^Word:='Form1';
Test1;
end;

1 Ответ

2 голосов
/ 22 сентября 2019

Вы не можете изменить локальную переменную другой процедуры, даже если она не существует.В вашем примере просто используйте вместо этого входной параметр:

Procedure Test1(const Word: string);
begin
  Form1.Caption := Word;
end;

Procedure TForm1.Button1Click(Sender: TObject);
begin
  Test1('Form1');
end;

В противном случае добавьте вместо него член TForm1 class:

type
  TForm1 = class(TForm)
    ...
  public
    Word: string;
    ...
  end;

...

Procedure Test1;
begin
  Form1.Caption := Form1.Word;
end;

Procedure TForm1.Button1Click(Sender: TObject);
begin
  Word := 'Form1';
  Test1;
end;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...