begin process at 2012 05 29 14:25:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Probleme de convention? d'appel de dll dans vba


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme de convention? d'appel de dll dans vba

mardi 22 septembre 2009 à 10:35:36 | Probleme de convention? d'appel de dll dans vba

Jbs106

J'ai ouvert un projet en vc++ studio express 2008. projet win32, dll, nommée tutorial, et dans le fichier tutorial.cpp, j'ai ajouté trois fonctions:

extern "C" __declspec(dllexport) int factorielle(int n)
{
int resultat = 1;
if(n < 0)
return -1;
if(n == 0)
return 1;
for(; n > 0; n--)
resultat *= n;
return resultat;
}

extern "C" __declspec(dllexport) int trois()
{
return 3;
}
extern "C" __declspec(dllexport) int deuxfois(int n)
{ return 2*n;
}
****************************************************
voici mon appel en vba:

Declare Function factorielle Lib "D:\Dev\tutorial.dll" (ByVal n As Long) As Long
Declare Function trois Lib "D:\Dev\tutorial.dll" () As Long
Declare Function deuxfois Lib "D:\Dev\tutorial.dll" (ByVal n As Long) As Long
Sub tste()
Dim tst
tst = 6
tst = trois
tst = factorielle(6)
End Sub

Pourquoi la fonction trois() fonctionne et la fonction factorielle ne fonctionne pas? J'ai même essayé avec une fonction me doublant une valeur entrée en paramètre, toujours la même erreur; convention d'appel de DLL incorrecte erreur 49. S'il vous plais, aidez moi, je ne comprend pas. ça viendrai d'où?

mardi 22 septembre 2009 à 12:56:26 | Re : Probleme de convention? d'appel de dll dans vba

Jbs106

J'utilise dépendency walker pour bien voir mes fonctions. Elles y sont mais impossible de l'appeler. Là, je suis vraiment bloqué, je comprends pas. s'il vous plais, aidez moi.

mardi 22 septembre 2009 à 15:44:11 | Re : Probleme de convention? d'appel de dll dans vba

Jbs106

Réponse acceptée !

__declspec(dllexport) int __stdcall factorielle(int n) voila ce qui faut exactement...
voir
http://www.commentcamarche.net/forum/affich-14478286-probleme-de-dll-aidez-moi-svp?#

mardi 22 septembre 2009 à 19:33:56 | Re : Probleme de convention? d'appel de dll dans vba

BruNews

Administrateur CodeS-SourceS

Il y avait des exemples ici sur cppfrance:

DLL C ET ASM POUR VB
http://www.cppfrance.com/code.aspx?id=20672
TRAITER STRING VB PAR DLL C/C++ (WIN32)
http://www.cppfrance.com/code.aspx?ID=30115

ciao...
BruNews, MVP VC++

jeudi 24 septembre 2009 à 22:42:18 | Re : Probleme de convention? d'appel de dll dans vba


Cette discussion est classée dans : long, int, dll, tutorial, trois


Répondre à ce message

Sujets en rapport avec ce message

Problème d'interfacage d'une DLL écrite en C++ avec vba [ par pierrinot ] Bonjour, Je dois créer une DLL utilisable par un programme VBA. Je tombe sur un problème d'entête de fonctions. La DLL est bien compilée, mais lorsq lire char* a dans Dll int _stdcall runappli(char* a) [ par Fwdavy ] Je realise une Dll c++, pour être lue par VB du style :int _stdcall runappli(char* a, char* b,int c) La Dll se lance bien mais je voudrais être sur qu chargement dll sous vc++ 6.0 [ par laulau10 ] bon ben je chercher comment charger une dll dans mon programme je n'ai pas le lib de cette dll la dl est ode.dll et une de ses fonction est InitODE( probleme allocation memoire dynamique [ par neutrix ] salutvoilaj'ai besoin d'aideje dois convertir un nombre en tableau de chiffres Uttilisation la fonction d'une DLL [ par aDebhian ] Pour ce faire, j'ai lu msdn, codes-sources et j'en suis arrivé à ceci: [FONCTION DLL] extern "C" __declspec(dllexport) int tests(int test) {     retu DLL et SendMessage() [ par LordBob ] Bonsoir a tous,voila je continue le développement d'un petit projet. Je voudrais rajouter la possibilité que lorsque on appuie sur une touche a n'impo DLL C++ [ par alonsyl ] Bonjour,Je travaille en Visual Basic et j'essaie de créer une DLL C++ afin d'effectuer du calcul matriciel. Pour l'instant, je commence petit avec la Probleme dans prog de calcul de PI [ par Jarod1980 ] Bonjour tout le monde,J'ai un petit programme basic pour calculer PI en utilisant la formule de Ramanujan:1    2^(3/2)  inf   (4n)! (1103+26390n)      Problème d'appel de fonction d'une DLL en C [ par richard22 ] Bonjour Voici mon problème: je réalise une DLL avec cette fonction: DLLIMPORT int Algo(int **result) {    etc...    } et dans un fichier .h : #ifn unsigned long int [ par W@$h! ] saluje pense que tout le monde sait faire ça : int valeur = 4;printf("%i", valeur);mais quelqu'un peut'il me dire comment faire pour afficher un unsig


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales