Я хочу отредактировать свойство формы внутри процедуры. Однако, если я создаю свою собственную процедуру, я получаю ошибку «undefinded identifier».Delphi: необъявленный идентификатор в процедуре
Я попытался изменить свойство в процедуре события OnCreate моей формы, и это работает нормально.
Почему это так и как я могу это исправить?
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls;
type
Tfrm_main = class(TForm)
shp_wheelLeftInside: TShape;
shp_wheelRightInside: TShape;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_main: Tfrm_main;
implementation
{$R *.dfm}
procedure addWheelInsides();
begin
shp_wheelRightInside.Height := 42; //this is where the error occurs
end;
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
shp_wheelLeftInside.Height := 42;
shp_wheelRightInside.Height := 42;
addWheelInsides();
end;
end.
Почему вы не передать 'TShape' на вашем прок? – Sami
Форма ничего не знает о вашей процедуре ... add it: var frm_main: Tfrm_main; процедура addWheelInsides; реализация Да, и вам может понравиться, что Сами добавил TShape к вашей процедуре. – user763539