Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.008 c
2-1276497223
tippa
2010-06-14 10:33
2010.09.12
про 2 потока и общий стринглист


15-1276613528
bss
2010-06-15 18:52
2010.09.12
Забавная конвертация в variant е


2-1276220053
DROWSY
2010-06-11 05:34
2010.09.12
Вопрос о запросе..


4-1239990492
KiLLiR
2009-04-17 21:48
2010.09.12
Печать изображения в ScrollBox


6-1214928416
kernel
2008-07-01 20:06
2010.09.12
IdHTTPProxyServer и размер ресурса




   Наверх