Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

динамический массив динамических массивов. почему не получается ?   Найти похожие ветки 

 
ari_9   (2007-05-30 21:26) [0]

банальная задача. в бд лежит набор многоугольников. загружаю их для обработки в структуру памяти

 TGPoint = record
   ID: Integer;
   X, Y: Double;
 end;
 TGRegion = record
   ID: Integer;
   GPoints: array of TGPoint;
 end;
....
 GRegions: array of TGRegion;


такой процедурой

 SetLength(GRegions, 0);
 i := 0;
 with l_Regions_IBQuery do
 begin
   ParamByName("X_REGION_GROUP").Value := Selected_Region_Group;
   Prepare;
   Open;
   while not Eof do
   begin
     SetLength(GRegions, i + 1);
     GRegions[i].ID := FieldByName("REGION_ID").AsInteger;
     SetLength(GRegions[i].GPoints, 0);
     k := 0;
     with l_RVertexes_IBQuery do
     begin
       ParamByName("X_REGION_ID").Value := GRegions[i].ID;
       Prepare;
       Open;
       while not Eof do
       begin
         SetLength(GRegions[i].GPoints, k + 1);
         GRegions[i].GPoints[k].ID := FieldByName("RVERTEX_ID").AsInteger;
         GRegions[i].GPoints[k].X := FieldByName("COORD_X").AsFloat;
         GRegions[i].GPoints[k].Y := FieldByName("COORD_Y").AsFloat;
         k := k + 1;
         Next;
       end;
       Close;
       UnPrepare;
     end;
     {*****}
     i := i + 1;
     Next;
   end;
   Close;
   UnPrepare;
 end;


получаю EAccessViolation на НЕ ПЕРВОМ, а третьем-четвертом задании длины массива GRegions[i].GPoints (выделил в коде), то есть когда i уже равно 1 и внешний цикл отрабатывает третий-четвертый раз. чувствую что ошибка на поверхности. нужен свежий взгляд


 
ari_9   (2007-05-30 21:27) [1]

поправка, когда i уже равно 2 или 3


 
Zeqfreed ©   (2007-05-30 21:42) [2]

Трассировку в руки и погнали.



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

Текущий архив: 2007.06.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-1174905776
OldProger
2007-03-26 14:42
2007.06.24
Таблицы Paradox в сети


15-1180506735
DVM
2007-05-30 10:32
2007.06.24
Windows XP Home и 2-х 4--х ядерные процессоры.


9-1154443127
RomanH
2006-08-01 18:38
2007.06.24
Пилотирование камеры в 3D


6-1165135066
Азат
2006-12-03 11:37
2007.06.24
картинки в браузере на ВЕЧНО!


2-1180858803
Вася
2007-06-03 12:20
2007.06.24
Объединить при проекта в один.