Главная страница
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.015 c
4-1220443358
dmitry_12_08_74
2008-09-03 16:02
2010.09.12
как получить handle текущего активного окна на рабочем столе


2-1276788915
RET
2010-06-17 19:35
2010.09.12
Помогите с передачей строкового аргумента


11-1196527644
Byka (345-824-826)
2007-12-01 19:47
2010.09.12
помогите с Lazarus?


15-1275146068
stas
2010-05-29 19:14
2010.09.12
Win 7 получить доступ к файлам реестра


2-1276678632
Desyatnik
2010-06-16 12:57
2010.09.12
Динамические запросы