Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

mapojbstransaction.AddObject ..List index out of bounds(1)

 
Начать новую тему   Ответить на тему    Список форумов 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.
Сообщения об ошибках следует присылать в службу поддержки.

_________________
С уважением, Руслан Гадеев
Видео уроки ИнГео
Документация ИнГео
Обновления ИнГео
Интегропедия
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


© phpBB Group
Русская поддержка phpBB