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

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

TObject через ссылку [XP]


Страницы:   1 2

aka ©   (2015-03-11 12:58:00) 

SL: TStringList;
................................................................
Push(Pointer(SL.Objects[i]));
//SL.Objects[i] := TObject(3) - напрямую работает

//так - нет
procedure Push(obj: Pointer);
begin
 TObject(obj) := TObject(3);
end;


Почему так происходит?


Плохиш   (2015-03-11 13:56:00) [21]


> aka ©   (11.03.15 13:28) [2]
> > procedure Push(var obj: Pointer)constant object cannot
> be passed as var

не ври, он не на эту строку показывает.

> Push( Pointer(SL.Objects[i]));

компилятор превращает такую конструкцию в константу, т.к. он не в состоянии проследить за полётом больной фантазии дерьмокодера.


junglecat   (2015-03-11 13:53:00) [22]

P := Pointer(SL.Objects[i]);
Push(P);


aka   (2015-03-11 13:28:00) [23]


> procedure Push(var obj: Pointer)

constant object cannot be passed as var


junglecat   (2015-03-11 13:21:00) [24]

procedure Push( varobj: Pointer);


Страницы:   1 2

Наверх

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