0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 23
|
||||||
1 | ||||||
Создание COM объекта из запущенного приложения27.04.2020, 19:22. Показов 20295. Ответов 10
Метки нет Все метки)
(
Здравствуйте Уважаемые!
есть установленная(на сервер) лицензионная программа 1с83 ключ на 5 лицензий подключение и запуск программы на других компах происходит по ссылке. есть необходимость по работе с этой 1с через COM но как COM объект данная 1С зарегистрирована только на сервере Теперь собственно вопрос: возможно ли на языке c++ или C# получить доступ к запущенному приложению как COM объекту. на шарпе нашел кусочек кода но он не работает
Возможно на c++ можно сделать обертку в виде COM объекта и в эту обертку затащить запущенную программу. Помогите пожалуйста разобраться в данном вопросе.
0
|
|
27.04.2020, 19:22 | |
Ответы с готовыми решениями:
10
Проверка наличия запущенного объекта MS Word
Блокировка запущенного приложения Развертывание уже запущенного приложения |
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
27.04.2020, 19:37 | 2 |
Не надо ничего выковыривать, просто создаёшь объект при помощи CoCreateInstance и всё
0
|
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 23
|
|||||||||||
27.04.2020, 19:48 [ТС] | 3 | ||||||||||
Если несложно можно пример
в моем примере этой функции нужен CLSID
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
27.04.2020, 19:53 | 4 |
0
|
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 23
|
|
27.04.2020, 19:55 [ТС] | 5 |
само приложение 1С запускается на моем компе
а как COM оно зарегистрировано и впрочем установлено на сервере
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
27.04.2020, 19:58 | 6 |
Попробуй зарегистрировать - "C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver
0
|
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 23
|
|
27.04.2020, 20:06 [ТС] | 7 |
зарегистрировать можно и установить на каждое рабочее место можно заморочиться
вопрос в другом возможно ли получить com из запущенного приложения подключение через зарегистрированный com таким способом "C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver подразумевает запуск экземпляра 1с но у нас есть запущенная 1С но нет зарегистрированного в реестре clsid весь смысл вопроса в том можно ли к запущенному приложению подключится как к com объекту
0
|
COM‐пропагандист
|
|
29.06.2020, 00:45 | 8 |
Если нет CLSID, то ищите в реестре ProgID, дальше вызываете ClsidFromProgid и получаете нужный CLSID.
Только что это даст? Вам ещё нужен IID интерфейса. Добавлено через 59 секунд Возможно, оно поддерживает IDispatch — тогда всё стандартно будет.
0
|
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 23
|
|
29.06.2020, 07:38 [ТС] | 9 |
в данном конкретном случае в реестре компа на котором запущена программа никаких записей нет.
само приложение имеет все свойства com (на том компе где это приложение установлено никаких проблем с подключением нет) в том числе поддерживает IDispatch
0
|
COM‐пропагандист
|
|
29.06.2020, 22:15 | 10 |
Возможно, оно поддерживает IDispatch — тогда всё стандартно будет.
Вообще, когда клиент создаёт инстанцию кокласса, то будет ли сервер располагаться в DLL, в отдельном процессе или на другом компьютере — клиентский код это волновать не должно.
0
|
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 23
|
|
30.06.2020, 08:31 [ТС] | 11 |
вот возможно решение сводится к созданию com обертки и включении в эту обертку запущенного приложения
только непонятно: если в запущенном приложении все комовские интерфейсы реализованы уже как их инициализировать
0
|
30.06.2020, 08:31 | |
30.06.2020, 08:31 | |
Помогаю со студенческими работами здесь
11
Настройки приложения запущенного на Tomcat Получить информацию об окне запущенного приложения Иконка приложения, запущенного с ярлыка, в taskbar Не меняется приоритет процесса запущенного приложения - C# Перехват макроса запущенного офисного приложения Как узнать текущую директорию запущенного приложения? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |