Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MapX и Delphi 
:(
    Опции темы
Kirill20
Дата 17.3.2011, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 17.3.2011

Репутация: нет
Всего: нет



Работаю сейчас с библиотекой MapX 5.0. Есть задача создать новый слой и привязать к объектам этого слоя данные, например создать колонку содержащую имена этих объектов... Слой создает,  объекты рисует (в данном случае точки), а вот данные привязать неполучается
Код

Var
  NewObj: CMapXFeature;
  Style: CMapXStyle;
  mxPnt: CMapXPoint;
  n: integer;
  x,y: double;
  ADO: TADOCommand;
  mxFlds: CMapXFields;
  mxBdLr: CmApXBindLayer;
  ds: Dataset;
  mxRows: CMapXRowValues;
  mxRow: CMapXRowValue;
begin
  n:=100;
  FMapInfo.Layers.CreateLayer('test','C:\test',EmptyParam,EmptyParam,EmptyParam);
  ADO:=TADOCommand.Create(nil);
  mxFlds:=CoFields.Create;
  mxBdLr:=CoBindLayer.Create;
  mxRows:=CoRowValues.Create;
  mxRow:=CoRowValue.Create;
  for i:=1 to n do
  begin
    NewObj:=CoFeature.Create;
    mxPnt:=CoPoint.Create;
    Style:=CoStyle.Create;
    NewObj.Attach(FMapInfo.DefaultDispatch);
    NewObj.type_:=miFeatureTypeSymbol;
    Style.SymbolBitmapColor:=RGB(0,0,0);
    //получаем координаты...
    x:=x*180/pi;
    y:=y*180/pi;
    mxPnt.Set_(x,y);
    NewObj:=FMapInfo.FeatureFactory.CreateSymbol(mxPnt,Style);
    NewObj.KeyValue:=FBase.ID;
    FMapInfo.Layers.Item['test'].AddFeature(NewObj,EmptyParam);
    NewObj:=nil;
    Style:=nil;
    mxPnt:=nil;
  end;
  ADO.ConnectionString:='строка подключения к базе';
  ADO.CommandText:='SELECT NAME FROM TABLE';
  mxFlds.Add(ADO.Execute.Fields.Item['NAME'],'NAME',EmptyParam,EmptyParam);
  mxBdLr.LayerName:='test';
  mxBdLr.LayerType:=miBindLayerTypeNormal;
  ds:=FMapInfo.DataSets.Add(miDataSetADO,ADO.Execute,EmptyParam,'NAME',EmptyParam,mxBdLr,mxFlds,EmptyParam);
  FMapInfo.Layers.Item['test'].BeginAccess(miAccessReadWrite);
  mxRow.Dataset:=ds;
  mxRow.Field:=ds.Fields.Item['NAME'];
  mxRows.Add(mxRow);
  FMapInfo.Layers.Item['test'].UpdateFeature(FMapInfo.Layers.Item['test'].AllFeatures.Item[1],EmptyParam,mxRows);
end;


Постоянно exception на последней строчке:(( Может кто подскажет что не так делаю...
PM MAIL   Вверх
MetalFan
Дата 17.3.2011, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 3
Всего: 128



Эхх, фраза "ошибка в 50й строке" уже не покатит)
Что хоть за ошибка то вываливается? Возможно не создан/не существует какой-то из элементов, к которому в 50й строке обращаются.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0397 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.