Вниз
Скачать: CL | DM;

Динамические массивы   Найти похожие ветки 

← →
I.N.   (2006-08-15 11:14) [0]

Добрый день!

Возможно ли в Дельфи использовать динамический массив как возвращаемое значение функции или как var- параметр? если я пишу
function proc(directory:String) : Array of String;

то компилятор вобще ругается на это. А такая декларация:

procedure proc(directory:String; var result:Array of String );

проходит но к сожалению использовать этот массив в процедуре невозможно так как вызов setlength(result,5) не компилируется - несовместимость типов! более того если я объявляю локальную переменную y : Array of String; и присваиваю y:= result; получаю почему то опять несовместимость типов? как жа мне быть, возжможно ли в дельфи вообще использовать динамический массив в качестве возвращаемого параметра?

спасибо за ответы.


← →
Сергей М. ©   (2006-08-15 11:17) [1]

type
 TMyDynArray = Array of String; //объявление типа

...

function proc(directory:String) : TMyDynArray; //использование типа


> setlength(result,5) не компилируется - несовместимость типов


Потому что это не динамический массив, а открытый массив.
А это две разные разницы.


← →
tupoy   (2006-08-15 11:36) [2]

а зачем вообще использовать массивы, когда есть замечательный класс TStringList


← →
Elen ©   (2006-08-15 12:03) [3]


> tupoy

Не любиш ты память экономить


← →
Германн ©   (2006-08-15 13:19) [4]


> Elen ©   (15.08.06 12:03) [3]
>
>
> > tupoy
>
> Не любиш ты память экономить
>

Ну-ка, ну-ка поподробнее пожалуйста.


← →
Elen ©   (2006-08-15 13:39) [5]


>  TStringList

В зависимости от массива определенного самим, TStringList может больше занимать памяти


← →
Германн ©   (2006-08-15 13:45) [6]


> В зависимости от массива определенного самим, TStringList
> может больше занимать памяти

Ещё подробнее плиз.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
2-1155497031
Chort
2006-08-13 23:23
2006.09.03
ToolBar


2-1155698844
California
2006-08-16 07:27
2006.09.03
Что такое XPManifest ?


4-1147452898
parovoZZ
2006-05-12 20:54
2006.09.03
Как получить HWnd Edit-a, если я знаю его ID?


2-1155152996
ArtemESC
2006-08-09 23:49
2006.09.03
Canvas


6-1145033726
UKRSHEV
2006-04-14 20:55
2006.09.03
Доступ к URL, требующим авторизации.




   Наверх