Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2003-10-13

Undeclared Identifiter (Delphi6)

> Я создаю свой юнит с процедурами (наподобии math [Юнит НЕ связан с формой]
> В одной процедуре при попытке компиляции с таким кодом
>
> ...
> uses StdCtrls;
> var
> k:TLabel;
> begin
> k:=TLabel.Create(Self);
// ^^^ правильно должно быть так:
k:=TLabel.Create(nil);
// Переменная Self определена ТОЛЬКО в методах класса!
// Если нужно создать Label на какой-то форме -- передай как параметр экземпляр
формы
// Если нет то передей nil

> ...
> k.free;
> Delphi отвечает :'Undeclared Identifiter - 'Self'' {Self!!}
> Label очень нужна
> Что делать?

Respectfully Voituk Vadim
e-mail: voit***@u*****.ua
www : http://voituk.kiev.ua
ICQ: 227418569
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   Войтюк Вадим 2003-10-13 19:03:23 (#6593)

Re: Undeclared Identifiter (Delphi6)

> Я создаю свой юнит с процедурами (наподобии math [Юнит НЕ связан с формой]
> В одной процедуре при попытке компиляции с таким кодом
>
> ...
> uses StdCtrls;
> var
> k:TLabel;
> begin
> k:=TLabel.Create(Self);
// ^^^ правильно должно быть так:
k:=TLabel.Create(nil);
// Переменная Self определена ТОЛЬКО в методах класса!
// Если нужно создать Label на какой-то форме -- передай как параметр экземпляр
формы
// Если нет то передей nil

> ...
> k.free;
> Delphi отвечает :'Undeclared Identifiter - 'Self'' {Self!!}
> Label очень нужна
> Что делать?

Respectfully Voituk Vadim
e-mail: voit***@u*****.ua
www : http://voituk.kiev.ua
ICQ: 227418569
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   Войтюк Вадим 2003-10-13 19:02:58 (#6592)

Re: Undeclared Identifiter (Delphi6)

>
> Я создаю свой юнит с процедурами (наподобии math [Юнит НЕ связан с формой]
> В одной процедуре при попытке компиляции с таким кодом
>
> ...
> uses StdCtrls;
> var
> k:TLabel;
> begin
> k:=TLabel.Create(Self);
> ...
> k.free;
> Delphi отвечает :'Undeclared Identifiter - 'Self'' {Self!!}
> Label очень нужна
> Что делать?

Self - пременная, указывающая на объект класса. А т.к. тут нет никакого
объекта, то соответсвенно нет и переменной...
так что проще всего сделать TLabel.Create(nil)...
хотя хоть убей, не понимаю, зачем нужен визуальный компнент в невизуальном
модуле...

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   2003-10-13 08:53:55 (#6488)