|
УФ не загружается внешняя компонента | ☑ | ||
---|---|---|---|---|
0
askharlov
29.07.14
✎
00:56
|
Доброго времени суток всем!
Проблемка: не загружается внешняя компонента в УФ. В обычных формах отрабатывает, в УФ не работает ни &НаКлиенте, ни &НаСервере. Вот код: Попытка ЗагрузитьВнешнююКомпоненту("C:\Program Files (x86)\1cv82\8.2.18.61\bin\rs232.dll"); Исключение Сообщить(ОписаниеОшибки()); Возврат Ложь; КонецПопытки; На УФ выдает ошибку "{Форма.Форма.Форма(22)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты" Книгу знаний http://kb.mista.ru/article.php?id=419 прочитал. Не помогло. Компоненту успешно зарегистрировал (хоть на обычных формах это не требовалось), наличие веток в реестре проверил. В чем еще может быть проблема? Пока писал возникла мысль: а может сама компонента работать только с обычными формами и не работать с управляемыми? Эта компонента работает с COM-портом. |
|||
1
askharlov
29.07.14
✎
00:56
|
+(1) Загружал 1С под админом
|
|||
2
jsmith
29.07.14
✎
01:18
|
я делаю так
Макет=ОбщийМодульМакет.ЗаписатьМакетНаДиск(); ИмяФайла=КаталогВременныхФайлов()+"Hook1c.dll"; Макет.Записать(ИмяФайла); Результат = ПодключитьВнешнююКомпоненту(ИмяФайла, "Hook", ТипВнешнейКомпоненты.Native); |
|||
3
jsmith
29.07.14
✎
01:21
|
ну и далее
&НаКлиенте Процедура ПриОткрытии(Отказ) КомпонентаKeyBoardHook = Новый("AddIn.Hook.KeyboardHook"); КонецПроцедуры &НаКлиенте Процедура ПриЗакрытии() КомпонентаKeyBoardHook = Неопределено; КонецПроцедуры |
|||
4
jsmith
29.07.14
✎
01:23
|
и это ещё
&НаСервере Функция ЗаписатьМакетНаДиск() Экспорт Макет = ПолучитьОбщийМакет("Hook1c"); Возврат Макет; КонецФункции |
|||
5
jsmith
29.07.14
✎
01:24
|
мда, явно требуется рефакторинг
хорошо, что напомнили |
|||
6
askharlov
29.07.14
✎
15:00
|
(2) Спасибо. А какой код в процедуре Макет=ОбщийМодульМакет.ЗаписатьМакетНаДиск() ?
У меня самописка и этого модуля нет, в тех парочке конфигураций на УФ, которые мне доступны этого модуля тоже нет. Скинь мне, пож-та, листинг кода. |
|||
7
askharlov
29.07.14
✎
15:08
|
+ (0) В продолжении темы:
Нашел в Интернете код: Попытка УстановитьВнешнююКомпоненту("C:\Program Files (x86)\1cv82\8.2.18.61\bin\rs232.zip"); //ПодключитьВнешнююКомпоненту(КаталогПрограммы() + "rs232.zip", "rs232", ТипВнешнейКомпоненты.Native); Исключение Сообщить("Не удалось загрузить внешнюю компоненту!"); Возврат Ложь; КонецПопытки; Исключения не возникает, но УстановитьВнешнююКомпоненту выдает ошибку: "Установка внешней компоненты не выполнена! В процессе установки произошла ошибка!" Строку ПодключитьВнешнююКомпоненту пока закомментировал, так как ошибка возникает на предыдущей строчке. |
|||
8
askharlov
29.07.14
✎
15:23
|
+(0) Пробую подключить внешнюю компоненту на сервере без установки:
&НаСервере Функция ОткрытьПорт() Попытка ПодключитьВнешнююКомпоненту(КаталогПрограммы() + "rs232.dll", "rs232", ТипВнешнейКомпоненты.Native); Исключение Сообщить("Не удалось загрузить внешнюю компоненту!"); Возврат Ложь; КонецПопытки; Попытка КОМПорт = Новый("Addin.rs232"); КОМПорт.ОткрытьПорт(Порт.Наименование); Возврат Истина; Исключение Сообщить("Не удалось открыть порт " + Порт); Возврат Ложь; КонецПопытки; КонецФункции Получаю ошибку уже на строку Новый("Addin.rs232"): "Тип не определен (Addin.rs232)" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |