Run ArcMap

0 голосов
спросил 02 Июнь, 11 от Dido_kz1 (11,020 баллов) в категории Программные продукты Esri
приветствую господа,
раньше без проблем под VB6 писал СОМ объекты и работали спокойно,
А сейчас пишу на  VS2010 C#, пытаюсь запустить из своего приложение
ArcMap, код след:
IDocument _doc = null;
IApplication _app = null;
_doc = new MxDocumentClass();                      
_app = _doc.Parent;                               
_app.Visible = true; 
 
при new MxDocumentClass ругается:

Сбой при получении производства объектов класса COM для компонента с CLSID {006B1AFE-C66C-11D0-B94C-080009EE4E51} в результате следующей ошибки: 80040111.
как правильно запустить, может это из за лицензий ?

18 Ответы

0 голосов
ответил 02 Июнь, 11 от Dorofeev1 (6,460 баллов)
Я думаю что код не совсем корректен, нужно сначала получить ссылку на приложение, а потом ссылку на его документ.
0 голосов
ответил 03 Июнь, 11 от Dido_kz1 (11,020 баллов)
это по мануалу чисто )
примеры привествуются
0 голосов
ответил 05 Июнь, 11 от Dorofeev1 (6,460 баллов)
_app=new ESRI.ArcGIS.ArcMap.ApplicationClass();
_doc=(IMxDocument) _app.NewDocument(false, Type.Missing);

    
0 голосов
ответил 06 Июнь, 11 от TDenis (42,620 баллов)
Process.Start("ArcMap");
или
Process.Start(@"c:\Test.mxd");

потом
var appRot = new AppROT();
for (int i = 0; i < appRot.Count; i++)
{
    var application = appRot.get_Item(i) as IApplication;
    Console.WriteLine(application.Caption);
}
0 голосов
ответил 06 Июнь, 11 от Dido_kz1 (11,020 баллов)
_app=new ESRI.ArcGIS.ArcMap.ApplicationClass();
_doc=(IMxDocument) _app.NewDocument(false, Type.Missing);

    

пробовал всякие варианты, тоже самое пишет, даж пример в C:\Program Files\ArcGIS\DeveloperKit10.0\Samples\ArcObjectsNet\DesktopAutomation
 тоже ругается, может отдельно лицензируется, может с лицензией у меня проблемы ?
0 голосов
ответил 06 Июнь, 11 от Dido_kz1 (11,020 баллов)
Process.Start("ArcMap");
или
Process.Start(@"c:\Test.mxd");

потом
var appRot = new AppROT();
for (int i = 0; i < appRot.Count; i++)
{
    var application = appRot.get_Item(i) as IApplication;
    Console.WriteLine(application.Caption);
}

при  var appRot = new AppROT(); пишет:
---------------------------
Error Сбой при получении производства объектов класса COM для компонента с CLSID {FABC30FB-D273-11D2-9F36-00C04F6BC61A} в результате следующей ошибки: 80040111.
 Source: WindowsFormsApplication1

---------------------------
но запускает карту, может это из за лицензий ? может рантайм нужен ?

0 голосов
ответил 06 Июнь, 11 от Dido_kz1 (11,020 баллов)
вот похожая проблемка, но чувак как то решил,но я не понял )
http://forums.esri.com/Thread.asp?c=93&f=982&t=265825
0 голосов
ответил 06 Июнь, 11 от Dorofeev1 (6,460 баллов)
А у вас случайно не Windows 7?
Попробуйте запустить код из под Админа
0 голосов
ответил 06 Июнь, 11 от Dido_kz1 (11,020 баллов)


ноут по гарантий забрали, там Windows 7, а сейчас на сервере работаю удаленно, там Windows 2008 сервер )попробовал от админа запускать,неа, пишет------------------------------------------------------Сбой при получении производства объектов класса COM для компонента с CLSID {006B1AFE-C66C-11D0-B94C-080009EE4E51} в результате следующей ошибки: 80040111.---------------------------ОК   ---------------------------на ХР тоже пробовал, тоже самое пишет



    
0 голосов
ответил 06 Июнь, 11 от Dido_kz1 (11,020 баллов)
http://forums.esri.com/Thread.asp?c=159&f=1707&t=243137
тут тоже самый код,у меня ту же ошибку выдает, господа,какие сображений будут...? Пробовал локализацию удалить даже ))) не помогло, но мне кажется, что это баг аркгиса, вот похожий топик, такой же код, у него другая проблема, а акрмап запускается
http://forums.esri.com/Thread.asp?c=93&f=993&t=289637
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...