![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запись элементов в динамический массив. [D7, WinXP]
parasolka © (2011-04-06 12:36:00)Доброго времени суток. Есть динамический массив элементов определённого класса.
dinArray: array of myClass;
Как записать в массив не указатель, а сам объект типа myClass?
Dennis I. Komarov (2011-04-07 11:05:00) [1]
> var dinArray: array of myClass;
dinArray: array of pointer;
Leon-Z (2011-04-07 10:36:00) [2]
> Ega23 © (07.04.11 10:30) [8]
Чтобы понятнее было. Вопрос задан явно новичком. :)
Ega23 (2011-04-07 10:30:00) [3]
> Вам верно нужно так:
А зачем нужна переменная myClassInst?
for i := 0 to 9 do
dinArray[i] := myClass.Create;
Leon-Z (2011-04-07 10:23:00) [4]Вам верно нужно так:
var
dinArray: array of myClass;
i: Integer;
myClassInst: myClass;
begin
// устанавливаем размер массива = 10 элементам
SetLength(dinArray, 10);
// наполняем массив указателями на экземпляры класса
// сами объекты в Delphi всегда динамические, поэтому
// вегда обращение к ним идет через указатель, хотя явно,
// как в Pascal мы не разименовываем их.
for i := 0 to 9 do
begin
myClassInst := myClass.Create;
dinArray[i] := myClassInst;
end;
// вызываем метод myClass вот так например:
for i := 0 to 9 do
dinArray[i].Vizvat_Metod_myClass(x, y, z);
end;
И. Павел (2011-04-07 08:07:00) [5]> [4] Ega23 © (06.04.11 19:45)
Сейчас уже точечными залпами не обойтись. Нужны массовые аргументы:
http://ru.wikipedia.org/wiki/%D0%9F%D1%83%D0%BB%D0%B5%D0%BC%D1%91%D1%82_%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0
_Юрий (2011-04-06 20:10:00) [6]В общем то, если заморочиться, то можно записать и сам объект в массив.
Перекрыв NewInstance так, чтобы вернулся буфер из массива.
Но для этого надо иметь достаточно веские причины.
Услышим ли мы описание причин от автора ветки?
Ega23 (2011-04-06 19:45:00) [7]
> цель коммунизм! что порекомендуешь? :)
Вот это:
http://ru.wikipedia.org/wiki/2%D0%9065
sniknik (2011-04-06 19:15:00) [8]> сам объект это и есть указатель
ну, это если он объектом объект называет, а ну как его "определённый класс" это рекорд? ;)
> какую цель хотите этим достичь. Тогда будет понятно - что вам порекомендовать.
цель коммунизм! что порекомендуешь? :)
И. Павел (2011-04-06 15:24:00) [9]> [0] parasolka (06.04.11 12:36)
Вы лучше скажите - какую цель хотите этим достичь. Тогда будет понятно - что вам порекомендовать.
Медвежонок Пятачок (2011-04-06 12:38:00) [10]никак. сам объект это и есть указатель