ОБСУЖДЕНИЕ

Обращение из процедуры к обьекту

5 ответов 4,8 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
Создал процедуру, которую нигде не обьявлял. Код процедуры размещен после гл. переменных, следующим образом

procedure Procedure();
var ....
begin
....
end;

Проблема в том что когда обращаюсь к обьекту, например memo, выдает ошибку "Незадекларированная переменная"
Как исправить?
 
мало кода
 
Код:
type
TForm3 = class(TForm)
Memo1: TMemo;
RadioGroup1: TRadioGroup;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
OpenDialog1: TOpenDialog;
Label1: TLabel;
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form3: TForm3;

implementation

uses Ocenka;

{$R *.dfm}

var vop:TextFile;
ych:TextFile;
filet,buf:String;
k:char;
na_t:TTime;
kol_vop:string;
pr_ot:string;
r_vop,n_v:integer;

procedure Vopros();
var i:integer;
begin

while not EOF(vop) do
begin
readln(vop, buf);

inc(r_vop);

if (buf='*') then Break;

pr_ot:=buf;
if length(buf)>1 then Memo1.Lines.Add(buf); // Здесь начинает ругаться компилятор
end;

for i:=4 to r_vop do
begin
RadioGroup1.Items.Add(inttostr(i-3));
end;
end;
 
Чем отличается процедура от метода типа знаете?
 
Я так понял ошибка в том. что надо писать вместо Memo1 -> Form3.Memo1 так как процедура не является методом класса TForm3.
 
Чем отличается процедура от метода типа знаете?

Чесно говоря не особо, тк делаю первые шаги в программировании, но свою ошибку понял. Всем спасибо
 
Статус
Закрыто для дальнейших ответов.