Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с ActiveX (MapX)

343
14 августа 2006 года
lena_ki
282 / / 14.04.2005
Есть компонент для картографии MapX. В примерах к нему есть код создающий специальный слой – карту, на которой можно затем рисовать. Код из стандартной справки на VB:

dim lyrInsertion as MapXlib.Layer
set lyrInsertion = Map1.Layers("USA")
lyrInsertion.Editable = True
Set Map1.Layers.InsertionLayer = lyrInsertion
После этого кода можно рисовать на слой – карте USA.

Пишу код на Builder:
CMapXLayer * SelectAreaLayer;
void __fastcall TForm1::FormShow(TObject *Sender)
{
SelectAreaLayer = Map1->Layers->get_Item(OleVariant(1));//в Builder по номеру, №1 это нужный мне слой - карта
SelectAreaLayer->Editable = true;
Map1->Layers->InsertionLayer = SelectAreaLayer;
}
однако это не работает: свойство InsertionLayer не устанавливается.

Пробовала так:
CMapXLayer * SelectAreaLayer;
void __fastcall TForm1::FormShow(TObject *Sender)
{
SelectAreaLayer = Map1->Layers->get_Item(OleVariant(1));
SelectAreaLayer->set_Editable(1);
Map1->Layers->set_InsertionLayer(SelectAreaLayer);
}
Тоже возвращает NULL.
Прилагаю файл *h от MapX. Посмотрите, кто знает, это ошибка компонента в среде Builder или существует другой способ задания InsertionLayer в Builder?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог