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

& dynamic arrays   Найти похожие ветки 

 
mokc0der ©   (2003-10-17 09:09) [0]

Написал нижеследующий код:

type
a3 = array of longint;
a2 = array of a3;
a1 = array of a2;
var
a : array of a1;
begin
SetLength(a, 10,10,10,10);
a[1,2,3,4] := 1;
SetLength(a, 30, 30, 30, 30); { XXXXX }
a[21,22,23,24] := 1;
end;

работает отлично. НО! Если закоментировать строку XXXXX то вылетает exception. Хотя в help к D7 написано:

memory for a dynamic array is reallocated when you assign a value to the array or pass it to the SetLength procedure.

Т.е. по идее память должна выделятся автоматически(ОЧЕНЬ НАДО:shuffle:). Но не выделяется:weep:.
Куда копать ?


 
Zergling ©   (2003-10-17 09:12) [1]

В динамических ни чего автоматически не выделяется.


 
Романов Р.В. ©   (2003-10-17 09:13) [2]


> по идее память должна выделятся автоматически

Не должна


 
KSergey ©   (2003-10-17 09:15) [3]

Чета вы строчку какую-то не верную прочитали.. Или поняли ее не так...


 
Goffman ©   (2003-10-17 09:19) [4]

when you assign a value - значит Arr1:=Arr2;


 
TUser ©   (2003-10-17 09:32) [5]

Если программа не сложная - попробуй написать на перле - там память действительно выделяется при обращении к несуществующему элементу массива. А в дельфе - надо указывать SetLength.



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

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



Память: 0.46 MB
Время: 0.015 c
3-89164
rosl
2003-10-07 03:34
2003.10.27
sql


7-89584
AlexangerG
2003-08-15 13:41
2003.10.27
Обмен данными через LPT в реальном времени


3-89154
:)
2003-10-07 11:34
2003.10.27
:)


3-89157
Dolphin
2003-10-07 10:41
2003.10.27
Несколько вопросов по DBGrid


14-89513
niko4543
2003-10-09 08:21
2003.10.27
rsrc




   Наверх