Вниз
Скачать: 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.051 c
15-1346063472
>|<
2012-08-27 14:31
2013.03.22
Локализация утечки памяти


15-1354100495
O'ShinW
2012-11-28 15:01
2013.03.22
Запретить всем прятать таскбар


15-1350592203
Юрий
2012-10-19 00:30
2013.03.22
С днем рождения ! 19 октября 2012 пятница


2-1329288943
TNK
2012-02-15 10:55
2013.03.22
Как преобразовать строку в дату.


15-1339705802
Юрий
2012-06-15 00:30
2013.03.22
С днем рождения ! 15 июня 2012 пятница




   Наверх