|
Не создаётся COM-объект в обычной форме | ☑ | ||
---|---|---|---|---|
0
repin_mike
25.04.17
✎
09:32
|
Привет всем!
8.2, серверная, платформа и сервер 1С установлены физически на одной машине, на этой же машине установлена библиотека COM. У конфигурации две формы, одна управляемая вторая обычная. Беру управляемую и пишу: &НаКлиенте Процедура Подписать(Команда) ПодписатьНаСервере(); КонецПроцедуры &НаСервере Процедура ПодписатьНаСервере() Try PDF = New COMОбъект("DebenuPDFLibrary64AX1113.PDFLibrary"); Except Message("Не зарегистрирована библиотека!"); Message(ErrorDescription()); Return; EndTry; КонецПроцедуры Всё замечательно отрабатывает, COM-объект создаётся. Теперь беру обычную форму и в модуле формы пишу: Процедура Подписать() Try PDF = New COMОбъект("DebenuPDFLibrary64AX1113.PDFLibrary"); Except Message("Не зарегистрирована библиотека!"); Message(ErrorDescription()); Return; EndTry; КонецПроцедуры Говорит "Ошибка при вызове конструктора (COMОбъект): Класс не зарегистрирован" В чём может быть дело? |
|||
1
Lexey_
25.04.17
✎
09:36
|
(0) в клиенте и сервере
|
|||
2
Lexey_
25.04.17
✎
09:36
|
+(1), вернее, просто в клиенте
|
|||
3
repin_mike
25.04.17
✎
09:39
|
(2) Ну я и сам догадываюсь что "из-под клиента" почему-то СОМ объект не виден, а "на сервере" виден. Но почему? Клиент толстый, установлен на тот же компьютер, что и сервер 1С.
|
|||
4
Неверный Параметр И
25.04.17
✎
09:40
|
Я бы сказал в отличии. Клиента отправлено сервера. В два раза.
|
|||
5
Неверный Параметр И
25.04.17
✎
09:40
|
от сервера
|
|||
6
dezss
25.04.17
✎
09:42
|
(0) 64х, а платформа клиента небось 32х?
|
|||
7
dezss
25.04.17
✎
09:42
|
(6) upd х64 и х32
|
|||
8
Лефмихалыч
25.04.17
✎
09:42
|
(0) причина в отсутствии прав у виндового пользователя, под которым запускается платформа во втором случае. В первом случае у тебя СОМ-объект создается под правами пользователя службы сервера, а во втором - под твоим виндовым пользователем.
|
|||
9
repin_mike
25.04.17
✎
09:47
|
(6) да
(8) Если дело в этом, а не в (6), то можно ли это победить как-нибудь? Напр. создавать COM объект в общем модуле с галочкой "Сервер"? |
|||
10
бомболюк
25.04.17
✎
09:47
|
в разрядности причина. COM объект у тебя судя по названию 64 битный.
|
|||
11
dezss
25.04.17
✎
09:48
|
(9) если на серваке под админом, то (8) не прокатит...
|
|||
12
бомболюк
25.04.17
✎
09:48
|
ну и да, судя не только по названию, но и потому, что под сервером он запускался успешно.
|
|||
13
Лефмихалыч
25.04.17
✎
09:49
|
(9) надо зайти в оснастку COM+ приложений и там добавить всех, кого надо, на закладку с правами.
|
|||
14
repin_mike
25.04.17
✎
09:49
|
(10) Да, COM объект 64разрядный, сервер тоже 64разрядный, платформа 32хразрядная. Из обычной формы получается вообще никак, только платформу 64 ставить? Или есть варианты?
|
|||
15
бомболюк
25.04.17
✎
09:50
|
может есть 32хбитный вариант?
|
|||
16
repin_mike
25.04.17
✎
09:50
|
(14) ну или библиотеку 32 искать..
|
|||
17
dezss
25.04.17
✎
09:51
|
(14) а в ОФ нельзя использовать директивы компиляции?
|
|||
18
Лефмихалыч
25.04.17
✎
09:51
|
да нормально с битами всё. Прав нет прост
|
|||
19
repin_mike
25.04.17
✎
09:52
|
(17) я не знаю
|
|||
20
dezss
25.04.17
✎
09:52
|
(17) снимаю вопрос...низя, походу...
|
|||
21
repin_mike
25.04.17
✎
12:05
|
(6) Взлетело, дело было именно в этом. Нашёл 32хразрядную библиотеку и всё чудесно работает. Спасибо за наводку.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |