1С++: Ошибка при создании объекта из компоненты (отсутствует интерфейс IInitDone)

1. nick_krsk 18 06.06.12 07:04 Сейчас в теме
Добрый день!
У нас на win2008 server стоит 1с 7.7, в планировщике прописан автозапуск 1С для выполнения заданий.
Проблема вот в чем: при закрытии 1Ски вываливается ошибка. Если бы запускали вручную, то не критично, а т.к. происходит автозапуск, то окно висит и не закрывается.
Ошибка происходит, если загружалась компонента 1С++.

Нашел способ решения проблемы: http://www.rbsoft.ru/node/921

Сделал как там сказано:


Если ЗагрузитьВнешнююКомпоненту("vkloader.dll")<>0 Тогда
ЗагрузчикВК = СоздатьОбъект("ЗагрузчикВК");
Иначе
Сообщить("Не обнаружена компонента vkloader.");
Возврат 0;
КонецЕсли;

Результат = ЗагрузчикВК.ЗагрузитьВК("1cpp.dll", "Addin.1C++=fde5ae76-00b3-4bdb-921b-d5937997b1b7");

Но теперь при загрузке 1C++ выводится сообщение:Ошибка при создании объекта из компоненты <Неизвестная компонента> (отсутствует интерфейс IInitDone). И компонента не подгружается.

Подскажите, как решить проблему?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. asved.ru 36 06.06.12 07:55 Сейчас в теме
Зарегистрируйте компоненту в системе.

regsvr32 vkloader.dll

при этом компонента должна лежать в %path%
3. nick_krsk 18 06.06.12 08:19 Сейчас в теме
(2)При попытке регистрации выдается ошибка:"Неверная попытка доступа к адресу памяти".
4. asved.ru 36 06.06.12 08:22 Сейчас в теме
Консоль запускайте от имени администратора,
не помню, посмотрите, есть ли для dll режим совместимости
5. nick_krsk 18 06.06.12 08:29 Сейчас в теме
Еще момент: когда пытаюсь получить ProgID для компоненты 1С++, то получаю следующее: "Не удалось получить ProgID.Отсутствуют ProgIDs в компоненте".

Вот код:
ЗагрузитьВнешнююКомпоненту("vkloader.dll");
звк = СоздатьОбъект("ЗагрузчикВК");
Рез = звк.КодЗагрузки("1cpp.dll");
Если Рез.КодОшибки = 0 Тогда
Сообщить(Рез.Результат);
Иначе
Сообщить("Ошибка " + Рез.КодОшибки + РазделительСтрок + Рез.Результат);
КонецЕсли;

Получается, vkloader.dll подгрузилась, дело в 1cpp.dll?
6. varelchik 07.06.12 14:25 Сейчас в теме
7. nick_krsk 18 08.06.12 06:13 Сейчас в теме
8. varelchik 08.06.12 09:28 Сейчас в теме
(7) Karambol,
Ну так и нафига тебе использовать левый загрузчик.
Насколько я помню 3.2.х.х уже не регистрируется в реестре, так же как и FormEx.
т.е. Использование метода ПодключитьВнешнююКомпоненту() будет выдавать тоже самое.
Так что не парся а просто делай ЗагрузитьВнешнююКомпоненту("1cpp.dll") и все.
9. nick_krsk 18 08.06.12 09:34 Сейчас в теме
(8) А из-за чего еще может появляться ошибка при закрытии 1С?
10. varelchik 08.06.12 09:35 Сейчас в теме
Ты хоть ошибку то опиши.
Тем боле ты кроме 1С++ еще что-то подгружаешь?
12. nick_krsk 18 08.06.12 10:26 Сейчас в теме
(10)


Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: 1cv7s.exe
Версия приложения: 7.70.0.27
Отметка времени приложения: 4573fcd8
Имя модуля с ошибкой: BkEnd.dll
Версия модуля с ошибкой: 7.70.0.27
Отметка времени модуля с ошибкой: 4573f811
Код исключения: c0000005
Смещение исключения: 001cd319
Версия ОС: 6.1.7601.2.1.0.274.10
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
14. varelchik 08.06.12 11:41 Сейчас в теме
(12) Karambol,
А причем тута 1С++?
Тебе же явно написали BKEND.dll
Причем как у тебе установлена 1С?
Вообще-то 7.7 на 2008 работать недолжна без патчинга.
Тем более формат базы какой SQL или DBF?
11. varelchik 08.06.12 09:36 Сейчас в теме
У меня грузиться целый пакет компонент и не что не куда не падает.
СпКомпонент.ДобавитьЗначение("1cpp.dll",1);
СпКомпонент.ДобавитьЗначение("formex.dll",1);
СпКомпонент.ДобавитьЗначение("turbomd.dll",0);
СпКомпонент.ДобавитьЗначение("RWidjets.dll",1);
СпКомпонент.ДобавитьЗначение("DialMail.dll",0);
СпКомпонент.ДобавитьЗначение("SpreadSheet.dll",1);
13. nick_krsk 18 08.06.12 10:27 Сейчас в теме
15. varelchik 08.06.12 11:43 Сейчас в теме
Если SQL то тебе сюда:
http://infostart.ru/public/82018/
у меня уже полгода на нем работает и проблем никаких.
nick_krsk; +1 Ответить
16. pvase 403 09.06.12 01:00 Сейчас в теме
1 - Отключить DEP
2 - Режим совместимости для 1С - XP SP3.
3 - Запуск 1С под Администратором (я делал запустить от имени).

В 7-ке еще пришлось себя сделать владельцем System32 и SysWOW64, хотя может это и не обязательно.
nick_krsk; +1 Ответить
17. ra9000 11 29.06.12 09:46 Сейчас в теме
Проверьте регистрацию Библиотеки.
18. ironn 5 10.02.16 03:46 Сейчас в теме
Попробуйте 1СPP обновить на актуальную версию.
Была похожая проблема - при запуске 1С 7.7 27 релиз под админом, библиотека 1СPP не грузилась - "Отсутсвует интерфейс InitDone", 1С при этом закрывалась нормально. А при запуске под пользователем библиотека 1СPP грузилась, но при закрытии 1С - ошибка...
Поменял 1СPP на свежую версию 3.2.4.1 - проблема ушла.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот