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

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

как получить указатель на экземпляр класса


HRustBB ©   (2010-06-12 02:25:00) 

как получить указатель на экземпляр класса внутри одного из методов этого класса. @self не помогает


HRustBB   (2010-06-12 17:20:00) [1]


> RWolf ©   (12.06.10 15:20) [10]


тоже вариант


RWolf   (2010-06-12 15:20:00) [2]

class TB
private
 FContainer:TObject;
end;


RWolf   (2010-06-12 15:14:00) [3]


> каждому объекту Б нужно сообщить (в конструкторе или еще
> какнибудь) указатель на контейнер

Для этого совершенно необязательно приводить Self к Pointer.
Constructor TB.Create(AContainer:TObject);
begin
 FContainer:=AContainer;
end;


RWolf   (2010-06-12 15:11:00) [4]

p:=pointer(self);


HRustBB   (2010-06-12 15:09:00) [5]


> В Delphi любая переменная-экземпляр класса есть указатель.
>  В том числе Self.

Тоесть

var p:Pointer;
begin
p:=self;
end;

будет правильно?


HRustBB   (2010-06-12 15:06:00) [6]


> А нафига!?


Задача такая: есть объект класса А, который инкапсулирует в себе свойство: массив объектов класса Б. Так вот. Нужно внутри методов каждого объекта класса Б иметь доступ к методам объекта класса А, для этого каждому объекту Б нужно сообщить (в конструкторе или еще какнибудь) указатель на контейнер (на тот самый объект класса А). Вот както так.


RWolf   (2010-06-12 15:05:00) [7]

В Delphi любая переменная-экземпляр класса есть указатель. В том числе Self.


{RASkov}   (2010-06-12 15:00:00) [8]

> [3] HRustBB   (12.06.10 14:54)

@+F1... будет адрес "указателя(переменной)" self...


HRustBB   (2010-06-12 14:54:00) [9]


> Self это и есть указатель на экземпляр, без @


тобеж @self получается указатель на указатель?


Palladin   (2010-06-12 03:06:00) [10]

Self это и есть указатель на экземпляр, без @


Германн   (2010-06-12 02:31:00) [11]


> как получить указатель на экземпляр класса внутри одного
> из методов этого класса.

А нафига!?
Методы и так работают "внутри экземпляра" за несколькими исключениями, типа классовых.


Наверх

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