1С Ole

  • Автор темы xmailer
  • Дата начала
X

xmailer

#1
следующий код никогда не находит уже запущенный 1С, соответственно нельзя подключится к запущенному. Т.к. 1С = v77l - локальная версия, то запуск нового приводит к ошибке инициализации. Как быть?
Код:
var
HR : HResult;
HUnknown : IUnknown;
begin

HR:=GetActiveObject(ProgIDToClassID('v77l.application'), nil, HUnknown);
if (HR = MK_E_UNAVAILABLE) then ShowMessage("Нужен новый запуск")
else ShowMessage("1С сервер запущен")

end;
Спасибо.
 
L
#2
а вы попробуйте не привязываться к версия зависимому ключу.
Используйте:
v77.application

И вообще, вам надо определить проинициализирована ли 1С в вашей программе как OLE объект или нет?
Просто GetActiveObject() не найдет 1С, если она была запущена пользователем с ярлыка, только если она была запущена в режиме OLE automation server. Вроде бы :huh:
А если к тому же 1С локальная, то в любом случае пользователей пользователя :D надо будет выгнать.