Marshal.GetActiveObject + 1С.. грабли
От: barn_czn  
Дата: 13.12.06 03:36
Оценка:
Пытаюсь подключиться к 1С. Когда 1С локально не запущена — все нормально..Запускаю 1С и пробую снова надеясь что GetActiveObject обнаружит ее (см. код).

string VersiaKey = "V77.Application";

_1CInstance = null;
try
{
 _1CInstance = System.Runtime.InteropServices.Marshal.GetActiveObject(VersiaKey);
 return;
}
catch(Exception){}
            
_1CType = Type.GetTypeFromProgID(VersiaKey);
if(_1CType == null)
{
 throw new Exception("VersiaKey not found");
}

_1CInstance = System.Activator.CreateInstance(_1CType);


но GetActiveObject выдает исключение, что означает как я понял что объект не найден..но так как 1С действительно запущена то повторная инициализация не проходит..
Попробовал на ворде: VersiaKey = "Word.Application" — все работает на ура..
Облазил весь инет.. везде один и тот же код для Делфи типа такого
http://delphin.xost.ru/?set=content&mc=28&full
соответствует ли мой код таможе самому — незнаю.. чувствую что камень приткновения Marshal.GetActiveObject..
может кто уже решил эту проблему?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.