#0
by Grobik
Захотелось воспользоваться Padeg_ua для склонения украинских ФИО. Зарегистрировал компоненту. Добавил Функция СклонениеФИО(ФИО,Падеж) Экспорт ЗагрузитьВнешнююКомпоненту("C:WINDOWSSysWOW64Padeg_ua.dll"); Попытка Скл = Новый COMОбъект("Padeg_ua.Declension"); Исключение ТекстОшибкиПриПодключении = ОписаниеОшибки;; Сообщить(ТекстОшибкиПриПодключении); Возврат Ложь; КонецПопытки; Результат = Скл.GetFIOPadegFS(Строка(ФИО),"",Падеж); Возврат Результат; КонецФункции в ПроцедурыУправленияПерсоналом В локальной базе работает. В сетевой под терминалом пишет: "Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса" В сетевой при запуске 1С на сервере работает. После этого в терминале нет. Файл кидал в "C:WINDOWSSysWOW64Padeg_ua.dll". В реестре ProgID есть и в HCR и в HKLM. "Padeg_ua.Declension" CLSID = {B21B2752-8C41-41D8-A0DC-98A368D8296E} ЧЯДНТ? И как побороть?
#2
by Grobik
Букву "Я" и "G" на тему "Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса" изучил внимательно.
#4
by Grobik
Стоп. ЗагрузитьВнешнююКомпоненту("C:WINDOWSSysWOW64Padeg_ua.dll"); Этого я конечно не писал ;)
#5
by Grobik
Сейчас на форуме 2000 чел. И никто не сталкивался с проблемой когда на сервере все нормально а в терминале "Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса" при использовании DLL-к?
#7
by victor79
насколько я понимаю, ЗагрузитьВнешнююКомпоненту это для ВНЕШНИХ КОМПОНЕНТ (что то же COM объект, но специальный для 1С). Ты же используешь обычный COM объект, не являющийся ВК, регистрировать который нужно "regsvr32 <файл.длл>" (под админом). С другой стороны ты упомянул, что в реестре есть "Padeg_ua.Declension", потому непонятно почему не работает. Попробуй заново зарегить regsvr32 и 1С запустить под админом. Если все равно не заработает, значит кривая длл и для 64 винды не работает.
#8
by Grobik
см Загрузить не писал, скопипастил с соседнего окна браузера пример. >> 1С запустить под админом Запускал конечно, раз уж пишу что работает. NameDecl.dll говорят украинские ФИО хуже переносит. Да в все равно она не зарегистрирована. В ПросклонятьФамилиюИмяОтчество и т.д. только вызовы ВК.
#9
by Serginio1
Сетевая SQL? Вызываешь на клиенте или сервере? Возможно использовать 32 разрядные DLL 64 разрядном приложении
#10
by Grobik
Спасибо за помощь. SQL тут при чем? 64 разрядное приложение это какое? КОМ=Новый COMОбъект("V82.COMConnector"); в это-же самое время, в этом-же самом месте работает.
#11
by Serginio1
В том, что SQL это клиент сервер и код может выполняется на сервере приложений. Сервер приложений может быть 64 и 32 разрядным. В поставку 64 сервером есть и 64 разрядная comcntr.dll.
#16
by victor79
так я про что и говорю, что ЗагрузитьВнешнююКомпоненту это здесь лишнее и бесполезное, а нужно regsvr32 из командной строки. Хотя это наверняка было для семерки, а для 8 может сделали универсальной. Вот вспомнил, для винды 64 + длл 32 - раздел CLSID располагается в другом разделе реестра - не как в 32 (кажется в WOW32). Возможно это было верно только для виндов от седьмой, и вин 2003 х64 был по старому - наверняка не помню. Если компонента скомпилена на компиляторе не понимающем этого, то придется править реестр вручную. Для дельфей до 7 включительно оно работало криво.
#17
by Grobik
По идее это лишнее. Тем не менее пробовал — не помогает. Это есть. Так все и сделано. Сервер на 2008, а клиенты какая разница?
#18
by Grobik
Запускаю с терминала regedit "Padeg_ua.Declension" не набюдается. Запускаю regsvr32 /n /i:test C:Users estWINDOWSsystempadeg_ua.dll пишет Модуль "C:Users estWINDOWSsystempadeg_ua.dll" загружен, но точка входа в процедуру DllRegisterServer не найдена. Вот этот товарищ хоть бы отписался, как заборол
#22
by Grobik
2. Модуль "C:Users estWINDOWSsystempadeg_ua.dll" загружен НО бла-бла. ИМХО это значит, что есть.
#23
by Grobik
Хотя вариант с "C:UsersххххWINDOWSsystempadeg_ua.dll" чисто отладочный. Не буду же я всем юзерям его раскидывать и регистрировать. Даже батником.
#25
by Serginio1
сообщение 20 Подсказали решение на SQL.ru На сервере необходимо было еще установить в локальных политиках право на запуск DCOM для конкретных пользователей. и, о чудо, все заработало :-)
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Регистрация DLL из 1С
- Регистрация V7Plus.dll под Vista
- Ошибка v7plus.dll & autosalon.dll
- .Net: Регистрация dll в системе C#
- Управление торговлей 10.2 вместе с scanopos.dll, scaner1c.dll и USB сканером
- Выгрузка из БП 1.6.11 в УТ 10.3 регистрация измененых объектов в базе БП
- Чем грозит замена odbcbcp.dll, sqlsrv32.dll, sqlsrv32.dll, в Win7 ?
- v7: Нужны библиотеки seven.dll и DBEng32.dll
- Не отменяется регистрация в обр. Регистрация изменений для обмена
В этой группе 1С
- как с процедуры выполняемой на сервере вызвать проц. на клиенте
- Сохранение файла в память, а не на диск средствами 1с, либо?..
- v7: отключить пересчет итогов для массовой отмены проведения доков
- Вызов COM объекта по сети с сетевого компьютера
- БП: Поступление товаров и услуг не попадает в КУДиР
- Как изменить шапку отчета созданного конструктором
- Передача параметра в СКД програмно
- Сквозная нумерация - не взирая на префиксы
- v7: Как получить остатки номенклатуры на нужную дату по счету 10?
- ГТД по импорту в книге покупок: некорректное отражение суммы БЕЗ НДС
- Операция вручную не попадает в регламентный отчет
- СКД 8.2 как вынести на форму отчета поля отбора
- дата окончания поддержки БП 2
- Как написать в запросе условие Лев(Док.НомерДок,1)="Р"
- Ошибка при создании информационной базы
- как подключить SQL базу?
- КД перенос регистра сведений контактной информации в табличную часть справочника
- как добавить в интерфейс ут11 новый документ?
- Нужен ли сервер 1с для 5 пользователей Бухгалтерия строительной организации ?
- Метод ПреобразованиеXSL.ДобавитьПараметр()