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

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

Длина динамического массива внутри процедуры [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]


> не вижу ничего криминального


А я вижу.

Это не динамический массив, это открытыймассив.
Две разные разницы, понимаешь ли, хоть и выглядят похоже ...


Наверх

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