Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Вниздинамический двумерный массив 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 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.073 c