DLL en C et visual Basic

DLL en C et visual Basic - Programmation

Marsh Posté le 14-04-2001 à 15:09:47    

Bon alors voila j'ai crée une dll de test en c avec deux fonction Max et Min , en laissant les param du projet par defaut.
A partir de la j'arrive a utiliser les fonctions de ma dll depuis VB  :) mais je n'arrive pas a leurs passer de param ("Bad Calling convention" ). :(  
 
J'ai pris mon courage a 2 mains et chuis aller fouiller sur le net , c'est la que j'ai cue j'ai capté l'histoire des convention de passage de paramétre et que VB ne supporte pas le cdecl , la convention par defaut de visual C++.
 
Le probléme est qu'a partir du moment ou je change la callig convention pour le passer en stdcall dans Visual C++, mon projet Vb ne trouve plus l'entry point de la fonction que je lui demande d'utiliser. :sweat:  
 
 :cry: Siouplé a l'aide ! :cry:


---------------
La vie n'est pas un restaurant mais un buffet. Levez-vous pour vous servir.
Reply

Marsh Posté le 14-04-2001 à 15:09:47   

Reply

Marsh Posté le 16-04-2001 à 05:34:30    

Un petit exemple vo mieux qu'un long discourt :
----------------------------------------------
 
// Définie le symbole de la fonction exportée
#define DllExport __declspec( dllexport )
 
// Prototype
extern "C" DllExport long MyCFunc(long x);
 
// On définit la fonction
extern "C" DllExport long MyCFunc(long x)
{
    return x * x;
}
 
Dans VB :
--------
Private Declare Function MyCFunc Lib "MaDLL.dll" (ByVal x As Long) As Long
 
Tout simplement :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed