Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Проблем с написанием DLL / 2 сообщений из 2, страница 1 из 1
27.07.2006, 00:58:31
    #33880976
qsticp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблем с написанием DLL
Здравствуйте.
У меня проблемы при создании dll в Visual Studio .Net ( создание: VC++ Win32 project а Application settings - DLL ).


//XDll.cpp
#include "stdafx.h"
#include "XDll.h"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
__declspec(dllexport) int getSum( int n1, int n2)
{
return n1 + n2;
}


//XDll.h
extern "C" __declspec(dllexport) int getSum(int n1, int n2);


DLL делаю для MS EXCEL (VBA) – так поставлена задача. Через Tool а References… не подключается. Через объявление:

Private Declare Function getSum Lib "C:\Excel\XDll.dll" (ByVal x As Integer, ByVal y As Integer) As Integer
-------------------------------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
Lab1.Caption = getSum(CInt(TextBox1.Text), CInt(TextBox2.Text))
‘тут выдает ошибку «Run-time error ’49’: Bad DLL calling convention»
End Sub

Это мой первый эксперимент с dll. Подскажите где протупил :( Может есть еще какой-то способ создания dll на VC++ (в Visual Studio) и подключить ее в проект VBA?
Заранее спасибо за ответы.
...
Рейтинг: 0 / 0
28.07.2006, 10:42:52
    #33884383
qsticp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблем с написанием DLL
Все таки создал DLL на C++ Builder 6.0, а так же и тестовое приложение к нему тоже на C++ Builder 6.0. DLL работает. Начал подключать к MS Excel через:
Private Declare Function Message Lib " C:\Project\mydll.dll " (x As Long, y As Long) As Long

Возникает ошибка:
Can’t find DLL entry point Message in C:\Project\mydll.dll

Может в функцию DllEntryPoint (точка входа в DLL) нужно добавить чета.

int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}

Я пробовал и оптимизацию с VC++:

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
return 1;
}

Посоветуйте решение.
Заранее спасибо за ответы.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Проблем с написанием DLL / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]