 |
www.integro.ru ЦСИ ИНТЕГРО
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
dionisy
Зарегистрирован: 07.05.2008 Сообщения: 1
|
Добавлено: Ср 07 Май 2008 10:42 Заголовок сообщения: mapojbstransaction.AddObject ..List index out of bounds(1) |
|
|
здраствуйте. при попытке создать объект в БД выводиться сообщение "List index out of bounds(1)" Код: | function Tcp4tm2id_t.relief_new_obj() : IIngeoMapObject;
//var
// map_ojbs_transaction : IIngeoMapObjects;
// out_mobj : IIngeoMapObject;
begin
map_ojbs_transaction := ii_app.ActiveDb.MapObjects;
dst_mobj := map_ojbs_transaction.AddObject( dst_lyr_id );
objs_info.set_values( Format( 'NEW ID = %s', [dst_mobj.ID] ), 'NEW OBJECT', 'NEW OBJECT', 'NEW OBJECT' );
// Result := ii_app.ActiveDb.MapObjects.AddObject( dst_lyr_id );
Result := dst_mobj;
dst_mshps := dst_mobj.Shapes;
dst_mshp := dst_mshps.Insert( -1, dst_stl_id );
dst_cntr := dst_mshp.Contour;
dst_cntr_part := dst_cntr.Insert( -1 );
dst_vrtx_cntr := 0;
dst_cntr_part.InsertVertex( -1, 20000.0, 20000.0, 0.0 );
dst_cntr_part.InsertVertex( -1, 40000.0, 40000.0, 0.0 );
map_ojbs_transaction.UpdateChanges;
objs_info.set_values( Format( 'END ID = %s', [dst_mobj.ID] ), 'END OBJECT', 'END OBJECT', 'END OBJECT' );
// dst_cntr_part.
// dst_cntr_part.InsertVertex();
end;
function Tcp4tm2id_t.relief_obj_add_vrtx( argX0 : double; argX1 : double ) : integer ;
begin
// dst_cntr_part.InsertVertex( dst_vrtx_cntr, argX0, argx1, 0.0 );
// dst_cntr_part.InsertVertex( -1, argX0, argx1, 0.0 );
Inc(dst_vrtx_cntr);
end;
function Tcp4tm2id_t.relief_dst_obj_end( ) : integer ;
begin
// dst_mobj.
// v_map_objs := dst_mobj.MapObjects;
// dst_mobj.MapObjects.UpdateChanges;
// map_ojbs_transaction.UpdateChanges;
// v_map_objs.UpdateChanges;
;
end; |
|
|
Вернуться к началу |
|
 |
RuslanG

Зарегистрирован: 10.07.2005 Сообщения: 171 Откуда: ИНТЕГРО
|
Добавлено: Ср 07 Май 2008 11:46 Заголовок сообщения: |
|
|
По приведенному Вами примеру кода невозможно воспроизвести ошибку. Попробуйте минимизировать Ваш код до минимального компилируемого кода, который вызывает ошибку.
Проверьте работоспособность приведенного ниже кода (должен работать).
Код: | procedure TTestForm.CreateMapObjectButtonClick(Sender: TObject);
var
aMapObjects: IIngeoMapObjects;
aMapObject: IIngeoMapObject;
aShape: IIngeoShape;
aContour: IIngeoContour;
aPart: IIngeoContourPart;
begin
aMapObjects := FIngeo.ActiveDb.MapObjects;
aMapObject := aMapObjects.AddObject(FLayerID);
aShape := aMapObject.Shapes.Insert(-1, FStyleID);
aContour := aShape.Contour;
aPart := aContour.Insert(-1);
aPart.InsertVertex(-1, 0,0,0);
aPart.InsertVertex(-1,1000,0,0);
aPart.InsertVertex(-1,1000,1000,0);
aPart.InsertVertex(-1,0,1000,0);
aPart.Closed := True;
FMapObjectID := aMapObject.ID;
aMapObjects.UpdateChanges;
end; |
P.S.
Сообщения об ошибках следует присылать в службу поддержки. _________________ С уважением, Руслан Гадеев
Видео уроки ИнГео
Документация ИнГео
Обновления ИнГео
Интегропедия |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы можете скачивать файлы в этом форуме
|
|