Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.09.12;
Скачать: CL | DM;

Вниз

как получить указатель на экземпляр класса   Найти похожие ветки 

 
HRustBB   (2010-06-12 02:25) [0]

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


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


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

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


 
Palladin ©   (2010-06-12 03:06) [2]

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


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


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


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


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

> [3] HRustBB   (12.06.10 14:54)

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


 
RWolf ©   (2010-06-12 15:05) [5]

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


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


> А нафига!?


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


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


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

Тоесть

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

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


 
RWolf ©   (2010-06-12 15:11) [8]

p:=pointer(self);


 
RWolf ©   (2010-06-12 15:14) [9]


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

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


 
RWolf ©   (2010-06-12 15:20) [10]

class TB
private
 FContainer:TObject;
end;


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


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


тоже вариант



Страницы: 1 вся ветка

Текущий архив: 2010.09.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
15-1276860797
SD Software
2010-06-18 15:33
2010.09.12
Как скомпилировать драйвер


15-1269882677
Piter
2010-03-29 21:11
2010.09.12
Установка windows на ноутбук без мышки


2-1276392661
DROWSY
2010-06-13 05:31
2010.09.12
Если TIBDataSet - набор из нескольких связанных таблиц...


6-1226166639
Igor2010
2008-11-08 20:50
2010.09.12
idhttp запрос


2-1276338216
forNeXt-13
2010-06-12 14:23
2010.09.12
Как сделать ValueListEditor в возможностью выбора