Как правильно закрыть OLE соединение с другой базой v7.7?

1. zhenyat 6 09.07.13 18:33 Сейчас в теме
Здравствуйте
Подскажите пожалуйста, как правильно закрыть OLE соединение с другой базой?

Вроде все "как по учебнику":

Код создания подключения:
БазаОле = Новый COMОбъект("V77.Application");
СтрокаПодключения = "/D"""+СокрЛП(Путь)+""" /N"""+СокрЛП(ИмяПользователя)+""" /P"""+СокрЛП(Пароль)+"""";
Connection = БазаОле.Initialize(БазаОле.RMTrade , СтрокаПодключения,"NO_SPLASH_SHOW");

Код закрытия подключения:
БазаОле=Неопределено;


Но при этом при закрытии обработки выводится сообщение о краше базы 7.7
Почему? А как тогда правильно закрывать базу открытую по OLE?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. adamx 36 09.07.13 22:26 Сейчас в теме
Я использовал
БазаОле=0;


А вообще краш может быть из-за использования внешних компонент в 7.7.
4. zhenyat 6 10.07.13 00:10 Сейчас в теме
(2)да. В 7-ной базе используются вк....
А есть ли способ в приложении вызванном через OLE узнать об этом и обойти код вызывающий вк? Ведь эти вк в данном случае не нужны...
5. AllexSoft 10.07.13 00:33 Сейчас в теме
(4) zhenyat, если 77 переписать чуть, можно ввести переменную типа ОткрытаВOle; и туда писать Истина или ложь в зависимости от того как открыта. Ну а при вызове ВК делаем условие
Если НЕ ОткрытаВOle тогда
.. запускаем компоненту
КонецЕсли;

Хотя может в 7.7 есть метод определить как открыта база, коллеги меня поправят если что
6. zhenyat 6 10.07.13 10:44 Сейчас в теме
(5)
Хотя может в 7.7 есть метод определить как открыта база
Вот это то теперь и интересует...
3. Dragga 09.07.13 22:30 Сейчас в теме
БазаОле = Неопределено;
7. adamx 36 10.07.13 23:05 Сейчас в теме
Самый простой вариант - Нужно заходить под определенным пользователем и в зависимости от этого подгружать компоненту или нет. Метод ИмяПользователя() вроде для этого используется:
Если ИмяПользователя() <> "ОЛЕ" Тогда
ЗагрузитьВК();
КонецЕсли;
8. zhenyat 6 11.07.13 10:24 Сейчас в теме
(7)Да, спасибо, я пришла к такому же выводу. Буду заводить пользователя...
9. andrey1508 107 17.10.18 09:22 Сейчас в теме
в 1С 7.7
1) Метод БазаОЛЕ .Initialize() возвращает: 0 - при ошибке, 1 - при успешном подключении.
Для проверки отрыта ли БазаОЛЕ используйте или локальную или глобальную переменные.
2) Для закрытия подключения присвойте пустое значение подключению.
БазаОЛЕ ="";

Проверить можно в диспетчере задач. Подключение закроется.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот