Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Создание DLL и регистрация ее через regsvr32
Форум на CrossPlatform.RU > Разработка > С\С++
silver47
Добрый день. Собственно вопрос такой: Необходимо создать DLL на Qt и вызывать ее в 1С. Чтобы это работало необходимо зарегистрировать библиотеку через regsvr32.

Собственно была такая штука:
dll.h
extern "C" {    
    float   getSomething();
}


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


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

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

P.S. к Qt вопрос отношения не имеет никакого.
silver47
Будьте так добры, подскажите как в таком случае решить проблему. Написать функцию DllRegisterService? Что в ней писать? Достаточно ли будет подобного:
STDAPI DllRegisterServer(void){
    return S_OK;
}
Iron Bug
Цитата(silver47 @ 5.6.2013, 14:26) *
Написать функцию DllRegisterService? Что в ней писать? Достаточно ли будет подобного:

дык, это смотря что там эта 1С хочет от библиотеки.
минимально - хватит и простого возврата результата. но тогда какой смысл вообще её регистрировать?
silver47
Цитата(Iron Bug @ 5.6.2013, 23:09) *
но тогда какой смысл вообще её регистрировать?

Иначе 1С не видит библиотеки. Но я разобрался. Регистрировать нужно просто dynwrapx.dll, а потом, внимание, запустить 1С с правами администратора, тогда, и только тогда, произойдет чудо, и все заработает. В общем вопрос снят, вспомнил как делалось и почему прежняя версия работает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.