Re[5]: @(TMyClass.Create()) не работает
От: wallaby  
Дата: 22.09.08 22:10
Оценка:
Здравствуйте, tnikolai, Вы писали:

D>>Учите мат часть, дорогой. Класы в Delphi всегда создаются и возвращаются как указатели

T>И откуда ты это взял?

Мдя. В новой объектой модели Delphi (в отличие от турбопаскаля) объекты всегда находятся в куче, а переменная типа объект — указатель на это место в куче. Статических объектов на стеке не бывает.

D>>Блин, покажите заголовок функции которой пробуете вернуть обьект. И как пробуете, и во что потом пробуете присвоить.

T>function xxx:TMyClass;
T>var x: TMyClass;
T>begin
T> x := TMyClass.Create();
T> result:=x;
T>end;
T>Это неправильно, надо возвращать тип ^TMyClass

Это правильно. Result указывает на объект в куче, а не на стеке.
---
The optimist proclaims that we live in the best of all possible worlds; and the pessimist fears this is true
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.