Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

почему не работает [D7, Win2k]


Wistful ©   (2005-02-28 23:22:00) 

здесь все работает :
procedure TForm1.Button1Click(Sender: TObject);
begin
   MyMemo[KolUser]:=TMemo.Create(Self);
end;

А вот так не работает :
procedure AddTab(s:string);
begin
 MyMemo[KolUser]:=TMemo.Create(self);
end;

Ошибка : не описана переменная Self


Германн   (2005-03-01 02:10:00) [1]

2 Wistful ©   (01.03.05 01:09) [4]
> у меня с английским плоховато .. :(

Именно поэтому jack128 ©   (28.02.05 23:30) [2] и посоветовал:
> Тебе бы книжку почитать - это самые азы.
Книжек на русском, в которых это (и многое другое полезное) описано - множество. Найди хотя бы одну.


Wistful   (2005-03-01 01:09:00) [2]

Всем спасибо!
Наконец разобрался.
Надо было делать вот так :
type
 TForm1 = class(TForm)
   procedure AddTab(s:string);
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

и дальше

procedure TForm1.AddTab(s:string);
begin
 MyMemo[KolUser]:=TMemo.Create(self);
end;

у меня с английским плоховато .. :(


Simply Alex   (2005-03-01 00:09:00) [3]

Включи "procedure AddTab(Sender: TObject; S: String);" в реализацию формы, тогда Self будет иметь смысл.


jack128   (2005-02-28 23:30:00) [4]

Любопытно, как ты можешь использовать псевдо переменную Self даже не зная, что это такое?

В первом случае ты реальзуешь МЕТОД, в котором Self имеет смысл, а во второом - процедуры, по отнашению к которой Self бессмысленен.  
Тебе бы книжку почитать - это самые азы.


Leonid Troyanovsky   (2005-02-28 23:27:00) [5]


> Wistful ©   (28.02.05 23:22)  
> здесь все работает :
> procedure TForm1.Button1Click(Sender: TObject);

> А вот так не работает :
> procedure AddTab(s:string);

> Ошибка : не описана переменная Self


Within the implementation of a method, the identifier Self references the object in which the method is called.

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо