![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли возвратить из функции массив ? [D7, XP]
b/@. © (2009-07-10 11:10:00)Добрый день.
Столкнулся с тем - что я не могу в функции задать длину параметра-массива.
Код должен возвращать выбранные в листбоксе элементы:
function TForm1.SelectRange(out Indexes: TWordArray): boolean;
var
i: integer;
begin
result := mrOk = ShowModal();
if result
then begin
SetLength(Indexes, 0);
for i := 0 to ListBox.Items.Count -1
do if ListBox.Selected[i]
then begin
SetLength(Indexes, Length(Indexes) + 1);
Indexes[High(Indexes)] := i;
... тут еще чегото делается...
end;
end;
end;
но почему-то я не могу установить длину массива - компилятор ругается на SetLength - Incompatible type.
Palladin (2009-07-10 15:55:00) [1]Как в справке описано так и объявлен, я думаю )
KSergey (2009-07-10 15:53:00) [2]тип TWordArray как объявлен?
Palladin (2009-07-10 12:20:00) [3]Очень свежая мысль )
Anatoly Podgoretsky (2009-07-10 12:14:00) [4]Indexes не инициализирован.
Сергей М. (2009-07-10 12:03:00) [5]А что мешает таклму объявлению и реализации
function SelectRange: TWordDinArray;
?
b/@. (2009-07-10 11:44:00) [6]Прошу прощения - я ошибся...наверное не проснулся еще...
TWordDynArray конечно же :)
Palladin (2009-07-10 11:34:00) [7]SetLength не применяется к указателям на массив
Palladin (2009-07-10 11:34:00) [8]Тьфу... к статическим массивам )
Сергей М. (2009-07-10 11:19:00) [9]Тип TWordArray не является типом, определяющим дин.массив, потому и ругается