Интегрированная картография. Использование MBX. C#
Добавлено: 09 янв 2013, 11:14
Добрый день. Помогите пожалуйста.
Необходимо передать параметры в mbx программу. Делал по примеру: тут
В программе:
При выполнении, на строке DMapBasicApplication app in MBApps появляется ошибка: Невозможно привести COM-объект типа "System.__ComObject" к интерфейсному типу "MapInfo.DMapBasicApplication". Операция завершилась со сбоем, поскольку вызов QueryInterface COM-компонента для интерфейса с IID "{1D42EC67-7B28-11CE-B83D-00AA002C4F58}" возвратил следующую ошибку: Интерфейс не поддерживается (Исключение из HRESULT: 0x80004002 (E_NOINTERFACE)).
Уже всю голову сломал, не знаю что не так.
MapInfo 7.8, MS Visual Studio Express 2010
Необходимо передать параметры в mbx программу. Делал по примеру: тут
Код: Выделить всё
Include "MAPBASIC.DEF"
Include "MENU.DEF"
Declare Sub RemoteMsgHandler
Declare Sub Main
Sub Main
' We don't need to doing anything here.
End Sub
Sub RemoteMsgHandler
Dim command as String
'Call commandinfo to get the string that was sent to us.
command = CommandInfo(CMD_INFO_MSG)
Note command
End Sub
Код: Выделить всё
Type mapinfotype = Type.GetTypeFromProgID("Mapinfo.Application");
DMapInfo mapinfoinstance = (DMapInfo)Activator.CreateInstance(mapinfotype);
mapinfoinstance.Visible = true;
string appcommand = "Run Application " + "\"" + @"D:\trymi.MBX" + "\"";
mapinfoinstance.Do(appcommand);
DMBApplications MBApps = (DMBApplications)mapinfoinstance.MBApplications;
foreach (DMapBasicApplication app in MBApps)
{
if (app.Name == "trymi.MBX")
{
myapp = app;
break;
}
}
Уже всю голову сломал, не знаю что не так.
MapInfo 7.8, MS Visual Studio Express 2010