![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как создать в цикле Array Of Const?
IGray © (2008-01-21 04:27:00)Hi! Есть процедура с параметром типа Array Of Const и мне нужно в цикле создать массив вариантов подходящий для передачи в эту процедуру.
Что-то типа:
создать массив нулевого размера (вероятно типа array of TVarRec?)
for бла-бла-бла begin
увеличить размер массива на элемент
заполнить последний элемент значением типа Variant
end;
Поделитесь примерчиком плииз!
Сорри если торможу мрачно..
Заранее спасибо!
oxffff (2008-01-21 13:46:00) [1]
> Leonid Troyanovsky © (21.01.08 13:15) [7]
Это embedded Variant array в Array Of Const.
:)
Leonid Troyanovsky (2008-01-21 13:15:00) [2]
> Плохиш © (21.01.08 12:21) [6]
> > Как создать в цикле Array Of Const?
> var
> varSearch: Variant;
Это ж не array of TVarRec.
Ему, видимо, нужен a[i].VType := vtVаriant; a[i].VVariant := @v;
--
Regards, LVT.
Плохиш (2008-01-21 12:21:00) [3]
> Как создать в цикле Array Of Const?
>
> IGray (21.01.08 04:27)
var
varSearch: Variant;
...
varSearch := VarArrayCreate( [0, myCount], varVariant );
for lCount := 0 to myCount do
varSearch[lCount] := Random(myCount);
MyProc(Variant(varSearch));
...
KilkennyCat (2008-01-21 12:02:00) [4]хз - тз...
Рамиль (2008-01-21 11:47:00) [5]
> да он уже на самом деле оценен. его ж передавать будут таким,
> чтоб подошел.
А зачем тогда в цикле увеличивать?
KilkennyCat (2008-01-21 10:35:00) [6]
> Рамиль © (21.01.08 10:31) [2]
> Оцените массив,
да он уже на самом деле оценен. его ж передавать будут таким, чтоб подошел.
Рамиль (2008-01-21 10:31:00) [7]
> IGray (21.01.08 04:27)
Вы думаете перевыделение памяти такая быстрая операция?
Оцените массив, выделите чуть больше памяти, потом обрежте.
KilkennyCat (2008-01-21 05:50:00) [8]
> увеличить размер массива на элемент
SetLength(array, length(array) + 1);
> заполнить последний элемент значением типа Variant
array[high(array)] := ....