crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Создание DLL и регистрация ее через regsvr32
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
silver47 Дата 6.6.2013, 6:19
 
Цитата(Iron Bug @ 5.6.2013, 23:09) *
но тогда какой смысл вообще её регистрировать?

Иначе 1С не видит библиотеки. Но я разобрался. Регистрировать нужно просто dynwrapx.dll, а потом, внимание, запустить 1С с правами администратора, тогда, и только тогда, произойдет чудо, и все заработает. В общем вопрос снят, вспомнил как делалось и почему прежняя версия работает.
Iron Bug Дата 5.6.2013, 20:09
 
Цитата(silver47 @ 5.6.2013, 14:26) *
Написать функцию DllRegisterService? Что в ней писать? Достаточно ли будет подобного:

дык, это смотря что там эта 1С хочет от библиотеки.
минимально - хватит и простого возврата результата. но тогда какой смысл вообще её регистрировать?
silver47 Дата 5.6.2013, 11:26
  Будьте так добры, подскажите как в таком случае решить проблему. Написать функцию DllRegisterService? Что в ней писать? Достаточно ли будет подобного:
STDAPI DllRegisterServer(void){
    return S_OK;
}
Iron Bug Дата 5.6.2013, 11:22
  когда regsvr32 вызывается без параметров, она требует функции DllRegisterServer. иначе надо указывать в параметрах, что DllRegisterServer вызывать не требуется, но тогда будет нужна функция DllInstall.

P.S. к Qt вопрос отношения не имеет никакого.
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 или перерегистрировать старую получаю сообщение, что точка входа не найдена. Главный вопрос, как ее добавить и почему раньше регистрировалось )

Спасибо.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 27.4.2024, 18:17