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

динамический двумерный массив of integer: не могу найти ошибку..   Найти похожие ветки 

← →
whoim ©   (2012-02-04 17:56) [0]



blocks_array: Array[1..1024] of Array of integer;

...

ADOQueryBlocks.SQL.Text := "SELECT BlocksAndLeds.* FROM BlocksAndLeds WHERE (BlocksAndLeds.block_num <> NULL) AND (BlocksAndLeds.led_num <> NULL) ORDER BY BlocksAndLeds.block_num";
ADOQueryBlocks.Open;
while (NOT ADOQueryBlocks.Eof) do
   begin
   SetLength(blocks_array[ADOQueryBlocks.FieldByName("block_num").AsInteger], High(blocks_array[ADOQueryBlocks.FieldByName("block_num").AsInteger]) + 1);
   blocks_array[ADOQueryBlocks.FieldByName("block_num").AsInteger][High(blocks_arra y[ADOQueryBlocks.FieldByName("block_num").AsInteger])] := ADOQueryBlocks.FieldByName("led_num").AsInteger;

   ADOQueryBlocks.Next;
   end;



Суть - к фиксированной части массива путь лежит через известные ADOQuery.FieldByName("block_num"), а вот вторую размерность массива нужно сделать динамической в зависимости от количества записей..

Ошибка обращения к памяти по ячейке вылетает на этапе присвоения значения..

Отчего?


← →
whoim ©   (2012-02-04 17:58) [1]

Текущие записи в таблице выглядят так:

http://my.jetscreenshot.com/1474/20120204-x1jw-24kb


← →
whoim ©   (2012-02-04 18:05) [2]

ага.. поа не напишу - не вижу входа..
SetLength(blocks_array[ADOQueryBlocks.FieldByName("block_num").AsInteger], High(blocks_array[ADOQueryBlocks.FieldByName("block_num").AsInteger]) + 2);

+2


← →
Anatoly Podgoretsky ©   (2012-02-05 13:03) [3]

Ошибка прилетела и прокищала, я вылетаю



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

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



Память: 0.45 MB
Время: 0.061 c
2-1338055199
vasa777
2012-05-26 21:59
2013.03.22
версия дельфи


15-1340225766
wl
2012-06-21 00:56
2013.03.22
ищу программистов iOS, Android. default-city


2-1331874414
vassal
2012-03-16 09:06
2013.03.22
record`ы


15-1336994384
AV
2012-05-14 15:19
2013.03.22
Copy команда. Как не затирать без вопросов?


15-1346305970
ZeroDivide
2012-08-30 09:52
2013.03.22
Современный смартфон с долгой батарейкой. Есть такие?




   Наверх