Имя: Пароль:
1C
1C 7.7
v7: не могу подгрузить DLL, написанную под заказ
0 ksa-nsk
 
18.08.21
19:25
Всех приветствую, понадобилась небольшая DLL, попросил, сдалали, но не могу подгрузить, чего-то не хватает.
пробовал
    Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"dll\ProcManLib.dll") = 0 Тогда
        Сообщить(ОписаниеОшибки());
        Предупреждение("Неудачная попытка загрузить ProcManLib.dll");
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
Ругается на CLSID

Пробовал
    Загрузчик = СоздатьОбъект("ЗагрузчикВК");
    Рез = Загрузчик.КодЗагрузки(КаталогИБ()+"dll\ProcManLib.dll");
    Если Рез.КодОшибки = 0 Тогда
        Сообщить(Рез.Результат);
    Иначе
        Сообщить("Ошибка " + Рез.КодОшибки + РазделительСтрок + Рез.Результат);                        
    КонецЕсли;

Выдает
Ошибка 5
Не удалось получить идентификатор ВК

Пробовал
    Загрузчик = СоздатьОбъект("ЗагрузчикВК");
    Результат = Загрузчик.ЗагрузитьВК("v7plus.dll", "
    |Addin.ProcManLib=f6019994-9e8f-459f-8151-b058ca55f3a6");
Выдает
Ошибка при создании объекта из компоненты <Неизвестная компонента> (отсутствует интерфейс IInitDone)

Кто разбирается, подскажите, пожалуйста, что передать программеру допилить?
1 ksa-nsk
 
18.08.21
19:30
DLL написана на VB.NET
программер спрашивает, если есть какой-то шаблон, пустая DLL, просим сбросить.
2 ksa-nsk
 
18.08.21
19:40
<ComVisible(True), ProgId("ProcManLib.ProcManLib"),
Guid("f6019994-9e8f-459f-8151-b058ca55f3a6"), ClassInterface(ClassInterfaceType.AutoDispatch)>
Public Class ProcManLib
    Public Sub New()
    End Sub
3 NorthWind
 
18.08.21
19:47
А семерка разве умеет грузить обычные DLL? По-моему, нет.
Надо делать либо ВК в соответствии с руководством 1С, либо виндовый COM-компонент.
4 NorthWind
 
18.08.21
19:48
5 Garykom
 
гуру
18.08.21
19:51
ТвояВК= СоздатьОбъект("ProcManLib.ProcManLib");
6 Garykom
 
гуру
18.08.21
19:51
(5)+ или типа того если обычный com/ole объект-сервер
7 NorthWind
 
18.08.21
19:52
(5) там чел, скорее всего, обычную DLL создал. Просто DLL с фукнциями.
8 ksa-nsk
 
18.08.21
20:15
спасибо, передам программеру, есть куда копать))
9 8 bit
 
19.08.21
09:29
regsvr32
?
10 Хосе
 
19.08.21
09:31
(7) гггг, все так
(9) Не поможет. если это обычная длл
11 dmrjan
 
19.08.21
10:45
Может ее нужно через NetFramework активировать?
типа c:\Windows\Microsoft.NET\Framework64\v4.0.30319>regasm d:\dll_for_work.dll /codebase   ?
12 Arbuz
 
19.08.21
13:50
Функции обычных dll можно через dynwrapx использовать.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс