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

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

DLL и Self [D7, XP]


Yegorchic ©   (2006-06-12 17:34:00) 

Здравствуйте! Подскажите, почему когда я в DLL использую Self, то компилятор мне говорит: "Undeclared identifier: 'self'"? Что нужно сделать, что бы всё было нормально?


Yegorchic   (2006-06-12 18:26:00) [1]

Ага. Ясно, примерно. Вообщем, пойду книжку читать... Спасибо.


Rial   (2006-06-12 17:41:00) [2]

Не все будет работать :))

construuctor TNewClass.Create;
>
constructor TNewClass.Create;


Rial   (2006-06-12 17:40:00) [3]

Для начала, нужно изучить азы ООП.
Self - указатель на сам объект в теле этого объета.
В DLL нельзя передать объект извне,
поэтому и вылезает ошибка.

Type
 TNewClass=Class
  protected
   FField:String;
  public
   constructor Create;
   destructor Destroy; override;
  end;

...
construuctor TNewClass.Create;
begin
Self.FField:='';
end;

destructor TNewClass.Destroy;
begin
If (FField<>'')then
 ShowMessage(Self.Field);
inherited Destroy;
end;

И все будет работать.
И в DLL, если там создавать свой объект.


Наверх

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