Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ С\С++ _ Создание DLL и регистрация ее через regsvr32

Автор: silver47 5.6.2013, 10:08

Добрый день. Собственно вопрос такой: Необходимо создать DLL на Qt и вызывать ее в 1С. Чтобы это работало необходимо зарегистрировать библиотеку через regsvr32.

Собственно была такая штука:
dll.h

extern "C" {    
    float   getSomething();
}


dll.cpp
#include "dll.h"
float getSomething(){
....
return returningValue;
}


И Вроде как когда-то давным давно она подключалась. По крайней мере работает. Пробую зарегистрировать новую подобную dll или перерегистрировать старую получаю сообщение, что точка входа не найдена. Главный вопрос, как ее добавить и почему раньше регистрировалось )

Спасибо.

 

Автор: Iron Bug 5.6.2013, 11:22

когда regsvr32 вызывается без параметров, она требует функции DllRegisterServer. иначе надо указывать в параметрах, что DllRegisterServer вызывать не требуется, но тогда будет нужна функция DllInstall.

P.S. к Qt вопрос отношения не имеет никакого.

Автор: silver47 5.6.2013, 11:26

Будьте так добры, подскажите как в таком случае решить проблему. Написать функцию DllRegisterService? Что в ней писать? Достаточно ли будет подобного:

STDAPI DllRegisterServer(void){
    return S_OK;
}

Автор: Iron Bug 5.6.2013, 20:09

Цитата(silver47 @ 5.6.2013, 14:26) *
Написать функцию DllRegisterService? Что в ней писать? Достаточно ли будет подобного:

дык, это смотря что там эта 1С хочет от библиотеки.
минимально - хватит и простого возврата результата. но тогда какой смысл вообще её регистрировать?

Автор: silver47 6.6.2013, 6:19

Цитата(Iron Bug @ 5.6.2013, 23:09) *
но тогда какой смысл вообще её регистрировать?

Иначе 1С не видит библиотеки. Но я разобрался. Регистрировать нужно просто dynwrapx.dll, а потом, внимание, запустить 1С с правами администратора, тогда, и только тогда, произойдет чудо, и все заработает. В общем вопрос снят, вспомнил как делалось и почему прежняя версия работает.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)