Добрый день, столкнулся с проблемой (впервые) регистрации dll.
Просто интересно - из-за dll может быть ошибка или такая ошибка только из-за 1С?
В общем есть самописная dll - скопировал в папку с базой (нужна только для 1 базы), зарегестрировал (regsvr32 new1C.dll) - проверил в реестре (win xp)- все ок. В 1С 7.7 код:
Если ФС.СуществуетФайл(КаталогИБ() + "new1C.dll")=1 Тогда
Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "new1C.dll")<>0 Тогда
Попытка
глКомпонента = СоздатьОбъект("AddIn.new");
Исключение
КонецПопытки;
КонецЕсли;
КонецЕсли;
Показать
Вываливается ошибка: Ошибка при создании объекта из компоненты 1Base\test\new1c.dll (отсутствует CLSID)
(2) Ёпрст, спасибо, только это для разработчиков dll =). А у меня уже готовая - из более 1000 раз пользований более 100 dll - вот одна что-то не хочет подцепляться...
(14) succub1_5, как вариант, что идет конфликт с работой других библиотек... уже давно все грузят через vkloader и забыли такие проблемы... еще детище 1С v7plus.dll любит лезть куда ему не нужно!
(15) Frogger1971, тестируем под win xp sp3, не используется.
P.S. Кстати по vkloader, если сразу регить
//компонента для работы
Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "vkloader.dll")<>0 Тогда
ЗагрузчикВК = СоздатьОбъект("ЗагрузчикВК");
Иначе
Сообщить("Не обнаружена компонента vkloader.");
КонецЕсли;
Если ФС.СуществуетФайл(КаталогИБ() + "queue.dll")=1 Тогда
Если ЗагрузчикВК.ЗагрузитьВК("queue.dll", "Addin.queue=3DFCB1D3-67F8-4895-A29D-BF5EFD811835") <> 0 Тогда
Попытка
глКомпонентаОтчет = СоздатьОбъект("AddIn.queue");
Сообщить("Создали объект AddIn.queue");
Исключение
КонецПопытки;
КонецЕсли;
КонецЕсли;
Показать
то нет ошибок, если же попытаться сгенерировать код
//компонента для работы
Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "vkloader.dll")<>0 Тогда
ЗагрузчикВК = СоздатьОбъект("ЗагрузчикВК");
Иначе
Сообщить("Не обнаружена компонента vkloader.");
КонецЕсли;
Рез = ЗагрузчикВК.КодЗагрузки(КаталогИБ() + "queue.dll");
Если Рез.КодОшибки = 0 Тогда
Сообщить(Рез.Результат);
Иначе
Сообщить("Ошибка " + Рез.КодОшибки + РазделительСтрок + Рез.Результат);
КонецЕсли;
//КонецЕсли;
Показать
то вываливается ошибка с кодом 5 и Не удалось получить идентификатор ВК
(16) succub1_5, что еще раз подтверждает некорректность написания самой dll'ки
согласен часто бывает, что для вклоадера значение регистра приходится находить самому