cs_ano2
Messages postés5Date d'inscriptionjeudi 25 mars 2010StatutMembreDernière intervention29 décembre 2010
-
28 déc. 2010 à 15:15
cs_ano2
Messages postés5Date d'inscriptionjeudi 25 mars 2010StatutMembreDernière intervention29 décembre 2010
-
29 déc. 2010 à 00:04
Bonjour à tous,
je suis en train de créer une dll en c++ pour ensuite l'utiliser en vba sous excel, mais je rencontre un problème lors de l'utilisation d'une fonction de ma librairie :
Point d'entrée getDouble d'une dll introuvable.
voici le code c++ :
// dllmain.cpp : Définit le point d'entrée pour l'application DLL.
#include "stdafx.h"
#include <math.h>
#include <stdlib.h>
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
extern "C" __declspec(dllexport) double __stdcall getDouble(double min,double max)//Renvoie un double entre min et max
{
return (min + (((float) rand() / RAND_MAX) * (max - min)));
}
extern "C" __declspec(dllexport) int getQuatre()
{
return 4;
}
et le code vb pour l'utiliser :
Declare Function getDouble Lib "C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2010\Projects\TestSubversion(2)\TestSubversion\Debug\testSubversion.dll" (ByVal x As Double, ByVal y As Double) As Double
Declare Function getQuatre Lib "C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2010\Projects\TestSubversion(2)\TestSubversion\Debug\testSubversion.dll" () As Long
Public Sub getDoubleVBA()
Cells(1, 3) = getDouble(2.1, 4.1)
End Sub
Public Sub getQuatreVBA()
Cells(1, 2) = getQuatre()
End Sub
La fonction getQuatre fonctionne très bien pourtant, donc je ne comprends pas d'où vient l'erreur.
Merci pour votre aide
A voir également:
Le programme ne contient pas de méthode 'main' statique adaptée à un point d'entrée