Работа с ActiveX (MapX)
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?