Вниз
Скачать: 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.977 c
14-89528
Igorek
2003-09-30 02:18
2003.10.27
---|Ветка была без названия|---


3-89148
vantage10
2003-10-08 16:04
2003.10.27
ADO+Access выбор по незаполненным полям


1-89382
ss300
2003-10-15 17:42
2003.10.27
обнуление переменной при изменений даты


1-89256
onix
2003-10-14 18:28
2003.10.27
Как определить версию MS Office ?


14-89561
VID
2003-10-05 23:29
2003.10.27
Siemens ME45 + GPRS




   Наверх