Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3985 connectés 

 


Dernière réponse
Sujet : DLL en C et visual Basic
karlkox 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 :)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
karlkox 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 :)
ptaocknet 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:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)