К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

(7.7) Работа с внешними компонентами

Гость
0 - 25.04.2020 - 00:15
Есть две обработки обмена с разными сайтами, первой нужна компонента 1срр, которая грузится в глобальном модуле, и второй обработке нужна своя компонента 1срр, которая грузится в модуле обработки, но не работает, можно ли как - нибудь проверить, что компонента уже загружена и выгрузить одну 1срр и загрузить другую?

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



Гость
1 - 25.04.2020 - 06:05
1 - зачем 2 компоненты 1с++? в чем их разница. Откуда требование грузить вторую из обработки?
2 - узнать загружена ли первая можно путем создания в попытке какого-либо ее объекта
Можно ничего и не узнавать, а просто выгружать, неважно загружена ли она
Гость
2 - 25.04.2020 - 08:00
А как выгрузить компоненту 1cpp?
Гость
3 - 25.04.2020 - 11:20
По поводу выгрузки кажетс я наврал, нельзя выгрузить
4 - 30.04.2020 - 18:08
2-mrOrange > её не надо загружать, она уже загружена.

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

типа такого:

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

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

отсюда, например
https://forum.mista.ru/topic.php?id=674668
Гость
5 - 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");
Успешно = БД.Соединение(СтрокаСоединения);

Возвращает Успешно = 0
Гость
6 - 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()
Гость
7 - 07.05.2020 - 03:01
6-USSR > спасибо, по OLEDB заработало
Гость
8 - 07.05.2020 - 19:45
(7)Будут вопросы, обращайтесь)


К списку вопросов






Copyright ©, Все права защищены