Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.15;
Скачать: CL | DM;

Вниз

Изменение длины динамического массива внутри процедуры.   Найти похожие ветки 

 
***mikle***   (2009-01-05 12:40) [0]

Сделал процедурку которая преобразует динамический массив, аля
PROCEDURE Change(mas:ARRAY OF AnotherType);
но при попытке изменения длины (SetLength) компилятор ругается. пол часа бился, потом решил сделать функцию и для этого объявил тип MasType=ARRAY OT AnotherType;
а когда начал переделывать процедуру и поменял тип входного массива на MasType - сразу скомпилировался!
Теперь оно работает, как изначально планировалось, но никак не пойду, в чём сначала была ошибка? ведь я пытался изменить длину динамического массива! да и потом делал то же самое, только обозвал по-другому. Может быть кто-нибудь сможет объяснить?
Заранее спасибо.


 
Amoeba ©   (2009-01-05 12:49) [1]


> PROCEDURE Change(mas:ARRAY OF AnotherType);

Здесь массив в параметре процедуры был объявлен не как динамический, а как открытый. А это "две больших разницы".


> type MasType=ARRAY of AnotherType;
> PROCEDURE Change(mas: MasType);

А теперь имеем дело с динамическим массивом.

Читаем справку про dynamic arrays и про open arrays.


 
Anatoly Podgoretsky ©   (2009-01-05 12:50) [2]

> ***mikle***  (05.01.2009 12:40:00)  [0]

В том, что это не динамический массив.



Страницы: 1 вся ветка

Текущий архив: 2009.02.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
15-1228919002
Добежал
2008-12-10 17:23
2009.02.15
Корректность считывания переменной из потоков


15-1229867338
Кое кто
2008-12-21 16:48
2009.02.15
Придумал свою систему разработки ПО


15-1229441014
ИванН
2008-12-16 18:23
2009.02.15
Генератор случайных чисел


15-1229629312
DVM
2008-12-18 22:41
2009.02.15
А нет ли случаем такого готового класса?


2-1230889749
BitalZ
2009-01-02 12:49
2009.02.15
В каком модуле описан интерфейс IHtmlDocument2