• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

1С Ole

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

xmailer

следующий код никогда не находит уже запущенный 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

LSH

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!