![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Длина динамического массива внутри процедуры [D7, Win2k]
BFG9k © (2006-06-15 14:13:00)
procedure FillArray(CB:TComboBox;Arr:array of integer);
begin
...
SetLength(Arr,CB.Items.Count);
...
end;
При попытке задать длину массива вылезает ошибка - Incompatible types. Я не вижу ничего криминального...
Reindeer Moss Eater (2006-06-15 14:20:00) [1]open array parameters.
... They cannot be passed to SetLength.
BFG9k (2006-06-15 14:20:00) [2]Спасибо, тема закрыта.
Palladin (2006-06-15 14:18:00) [3]дело в том что то что ты передаешь как array of integer является open array, а не dynamic array...
Var
TAoI=Array of Integer;
Procedure FillArray(CB:TComboBox; VarArr:TAoI);
Begin
...
SetLength(Arr,CB.Items.Count);
...
End;
Dmitrij_K (2006-06-15 14:17:00) [4]uses Types;
...
procedure(var Arr:TIntegerDynArray);
...
Сергей М. (2006-06-15 14:15:00) [5]
> не вижу ничего криминального
А я вижу.
Это не динамический массив, это открытыймассив.
Две разные разницы, понимаешь ли, хоть и выглядят похоже ...