Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   (7.7) Работа с внешними компонентами (http://forums.kuban.ru/f1040/7_7_rabota_s_vneshnimi_komponentami-9057868.html)

mrOrange 25.04.2020 00:15

(7.7) Работа с внешними компонентами
 
Есть две обработки обмена с разными сайтами, первой нужна компонента 1срр, которая грузится в глобальном модуле, и второй обработке нужна своя компонента 1срр, которая грузится в модуле обработки, но не работает, можно ли как - нибудь проверить, что компонента уже загружена и выгрузить одну 1срр и загрузить другую?

или как еще обойти эту ситуацию?

USSR 25.04.2020 06:05

1 - зачем 2 компоненты 1с++? в чем их разница. Откуда требование грузить вторую из обработки?
2 - узнать загружена ли первая можно путем создания в попытке какого-либо ее объекта
Можно ничего и не узнавать, а просто выгружать, неважно загружена ли она

mrOrange 25.04.2020 08:00

А как выгрузить компоненту 1cpp?

USSR 25.04.2020 11:20

По поводу выгрузки кажетс я наврал, нельзя выгрузить

Струнин 30.04.2020 18:08

2-mrOrange > её не надо загружать, она уже загружена.

Сразу создаём в модуле обработки нужный объект (потому что 1срр же уже загружен ПриНачалеРаботыСистемы() в глоб.), если он не создаётся, считаем, что компонента ещё не загружена и загружаем её.

типа такого:

Попытка
Объект2 = СоздатьОбъект( "ОбъектДляВторойОбработки" );
Исключение
ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "1CPP.dll");
Объект2 = СоздатьОбъект("ОбъектДляВторойОбработки" );
КонецПопытки

таким образом, мы проверили, загружена ли компонента.

отсюда, например
[url]https://forum.mista.ru/topic.php?id=674668[/url]

MarySue 06.05.2020 17:52

А на Windows 7 нормально работают прямые запросы?
У меня что-то не соединяется с базой файловой.
Использую вот такую строку соединения:
СтрокаСоединения = "DRIVER=Microsoft Visual FoxPro Driver;Deleted=Yes;Null=Yes;
|Collate=RUSSIAN;BackgroundFetch=Yes;Exclusive=No;SourceType=DBF;SourceDB=" + КаталогИБ();

БД = СоздатьОбъект("ODBCDataBase");
Успешно = БД.Соединение(СтрокаСоединения);

Возвращает [b]Успешно = 0[/b]

USSR 06.05.2020 18:05

(5)Отлично работают. И на Windows 10) Но я использую иное подключение:

Функция глПодключениеOLEDB (КаталогБД) Экспорт

OLEDB = CreateObject("OLEDBDATA");

OLEDB.Connect ("Provider = VFPOLEDB.1;
//|Deleted = Yes;
|Data Source = " + КаталогБД + ";
|Mode = ReadWrite;
|Extended Properties="";
|Exclusive = No;
|User ID = "";
|Password ="";
|Mask Password = False;
|Collating Sequence = RUSSIAN;
|DSN = """);

SQLComm = OLEDB.CreateCommand();

SQLComm.Выполнить("Exec('SET TABLEVALIDATE TO 0')");// Отключили блокировки


Возврат SQLComm;

КонецФункции //глПодключениеOLEDB()

MarySue 07.05.2020 03:01

6-USSR > спасибо, по OLEDB заработало

USSR 07.05.2020 19:45

(7)Будут вопросы, обращайтесь)


Текущее время: 15:02. Часовой пояс GMT +3.