Закрытие COM-соединения #285523


#0 by lucky_spb
В этой теме я привел пример по соединению 1Ски и Java. Когда мы пытаемся подсоединиться к 1Ске из любой среды (будь то VBasic, Delphi, Java) мы вызываем метод "Connect". Дальше уже работаем с объектом V8ComConnection. Вызываем методы, читаем записываем поля и т.п. Однако же при завершении работы не всегда все гладко. В моем случае после завершения всех операций в диспетчере остается висеть приложение "dllhost.exe" и есть прилично памяти, в 1Ске в списке пользователей так же висит "COM-Соединение". Если заново запустить приложение, то памяти будет съедено в 2 раза больше, а в 1Ске мы увидим еще одно дополнительное COM-Соединение. Минут через 5 это соединение отмирает само, но все таки необходимо, чтобы сразу после завершения работы это соединение пропадало. Здесь мы видим, что у интерфейса V8.ComConnector есть только метод "Connect". У других приложений (Word, Excel) есть еще метод "Quit", у 1Ски нету. Так что вопрос: каким образом принудительно закрыть соединение? Может быть что-то прописать в модуле внешнего соединения?
#1 by ТелепатБот
#2 by lucky_spb
Спасибо, Телепат, но это совершенно не то.
#3 by a_alenkin
А если убить эту переменную? ТвоеСоединение = ""
#4 by smaharbA
у 2Ски есть ЗавершитьРаботуСистемы
#5 by mamont
можно вызвать процедуры прописанные в модулях с установкой на внешнее соединение например такое вот работает: работает еще и так: V8.ЗавершитьРаботуСистемы(Ложь); можешь попробовать написать процедуру с латинским названием а в ней прописать на завершение
#6 by lucky_spb
Хочу вообще максимально не трогать 1Ску. На данный момент полностью реализовал синхронизацию справочников "Контрагенты" и прилегающих (Контактная информация и т.п.) без единого исправления в 1Ске.
#7 by mamont
Ну... чудес не бывает, кого-то потрогать придется :))))
#8 by lucky_spb
Погодьте: ЗавершитьРаботуСистемы и ПрекратитьРаботуСистемы: Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. Т.е. внешне я не могу вызвать эти функции. Как быть?
#9 by lucky_spb
Поднимаю еще раз вопрос: Каким образом можно вызвать функции ЗавершитьРаботуСистемы и ПрекратитьРаботуСистемы из модуля внешнего соединения (ну или другие функции по закрытию)
#10 by lucky_spb
Поднимаю еще раз вопрос: Каким образом можно вызвать функции ЗавершитьРаботуСистемы и ПрекратитьРаботуСистемы из модуля внешнего соединения (ну или другие функции по закрытию)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям