1С Ole

Тема в разделе "1C и всё что с ней связано", создана пользователем xmailer, 21 июн 2007.

  1. xmailer

    xmailer Гость

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

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

    end;
    Спасибо.
     
  2. LSH

    LSH Гость

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

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

Поделиться этой страницей