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;

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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab