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

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

Возвращаемое значение [D6, WinXP]


MikePol ©   (2004-10-18 16:22:00) 

Класс динамического массива, хранящий указатели на объекты этого класса, с методом добавления элемента.
type
TMyClass=class;
PMyClass= ^TMyClass;

TMyClass=class
........
 X:array of PMyClass;
 procedure Add(const Tmp:PMyClass);
end;

procedure TMyClass.Add(const Tmp:PMyClass)
begin
inc(FSize);
SetLength(X,size);
X[size-1]:=Tmp;
end;

Вызов :
Obj:TMyClass;
Obj.Add(PMyClass(TMyClass.Create));

Djghjc Obj:PMyClass;
Вопрос : Как сделать так чтобы это заработало ?


Ega23   (2004-10-18 17:05:00) [1]

Obj:TMyClass;
Obj.Add(PMyClass(TMyClass.Create));


А Obj ты до этого создал?


VMcL   (2004-10-18 17:03:00) [2]

>> begin...end ©  (18.10.04 16:38) [7]

Тогда уж TClassList.


-=SS=-   (2004-10-18 16:47:00) [3]

> begin...end ©   (18.10.04 16:38) [7]
Да begin...end прав не изобретай велосипед.


begin...end   (2004-10-18 16:38:00) [4]


> [5] MikePol   (18.10.04 16:34)

Ты там случайно не TObjectList изобретаешь? ;-)


MikePol   (2004-10-18 16:34:00) [5]

TMyClass указатель ?
Тогда я перепарился ... Извините :)


-=SS=-   (2004-10-18 16:34:00) [6]

А я бы лутше использывал вместо SetLength() GetMem(Count_Element,sizeof(TMyClass))


begin...end   (2004-10-18 16:33:00) [7]


> [2] MikePol   (18.10.04 16:31)
> Указатели не валидные почему то ..

Как ты пришёл к такому выводу?


MikePol   (2004-10-18 16:31:00) [8]

Указатели не валидные почему то ..


Amoeba   (2004-10-18 16:31:00) [9]


> type
> TMyClass=class;
> PMyClass= ^TMyClass;

А зачем еще нужен указатель на указатель? TMyClass - уже указатель. Так что для начала убери к чертям собачьим
PMyClass= ^TMyClass;


begin...end   (2004-10-18 16:28:00) [10]

А что, собственно, не работает?


Наверх

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