begin process at 2012 02 15 10:18:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

API

 > 

bad DLL calling convertion Run-time 49


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

bad DLL calling convertion Run-time 49

jeudi 5 février 2004 à 09:59:53 | bad DLL calling convertion Run-time 49

Sebastien12

Bonjour,

J'essaye d'accéder à une fonction mais j'ai le message d'erreur bad DLL calling convertion Run-time 49.
Voici mon bout de code

L'api convertit en VB:
Public Declare Function scanGetNextScanner
Lib "CTX_SCAN_2000.dll" (ByVal hScanner As Long, ByVal isOpen As Long, ByVal fRestart As Long) As Long

Le fichier en C d'origine:
CTX_SCAN_2000_API int scanGetNextScanner(HSCANNER *hScanner, BOOL *isOpen, BOOL fRestart);

Mon code est:

Dim Bisopen As Long
Dim Hs As Long
Hs = -1
es1 = scanGetNextScanner(Hs, Bisopen, True)

Et la erreur
Si quelqu'un a une solution ou une petite idée
Merci
Sebastien
jeudi 5 février 2004 à 12:19:30 | Re : bad DLL calling convertion Run-time 49

rene38

Bonjour

"Le fichier en C d'origine:
CTX_SCAN_2000_API int scanGetNextScanner(HSCANNER *hScanner, BOOL *isOpen, BOOL fRestart);"

HSCANNER ne serait-il pas une structure plutôt qu'un Long ?
jeudi 5 février 2004 à 14:02:33 | Re : bad DLL calling convertion Run-time 49

Sebastien12

A priori non voici la syntaxe du C:

#if defined(_WINDOWS_) || defined(_WINDOWS)
typedef int HSCANNER;
typedef int HPRINTER;
#End If

Sebastien
lundi 9 février 2004 à 21:28:32 | Re : bad DLL calling convertion Run-time 49

ShareVB

salut

moi j'aurais mis :
Public Declare Function scanGetNextScanner
Lib "CTX_SCAN_2000.dll" (Byref hScanner As Long, Byref isOpen As Long, ByVal fRestart As Long) As Long

car d'apres le prototype en C hScanner et isOpen sont des pointeurs

voila

ShareVB
jeudi 12 février 2004 à 17:13:15 | Re : bad DLL calling convertion Run-time 49
jeudi 12 février 2004 à 17:14:47 | Re : bad DLL calling convertion Run-time 49

Sebastien12

A priori j'ai fait des testes et le résultat est le même. J'ai du mal a comprendre pourquoi elle ne fonctionne pas.

Est ce que certaines APi ne pourrait pas fonctionner en VB?

Sebastien
vendredi 13 février 2004 à 19:34:27 | Re : bad DLL calling convertion Run-time 49

ShareVB

salut

oui certaine fonction ne fontionnent pas (directement) avec VB : VB n'est capable que d'appeler des fonctions definies par __stdcall et ne peut acceder correctement à des fonctions déclarée avec __declspec(dllexport) ou _cdecl. L'exportation des fonctions de la dll C ou C++ doit se faire avec un fichier de dépendance (.dep) :
ce code est compatible VB :
__stdcall int azerty(int* er)
alors que
__cdecl int azerty(int* er)
ou : __declspec(dllexport) int azerty(int* er)
n'est pas compatible VB

En fait cela vient du fait que stdcall et cdecl ne mettent pas les parametres sur la pile dans le meme ordre.

pour les type pointeur je confirme que int* est un pointeur vers int donc en VB un parametre en Byref

voila

ShareVB


Cette discussion est classée dans : long, dll, convertion, calling, bad


Répondre à ce message

Sujets en rapport avec ce message

ERROR: BAD DLL calling convention [ par denver ] Bonjour a tous, je suis debutant en vb, et j'ai une erreur que je ne comprends pas: j'ai fait un bouton qui va chercher une fonction dans une dll->wcs bad dll calling convention [ par ocis ] J'utilise une dll ecrite en visual C++ que je veux utiliser avec visual basic.J'ai pas le source de la dll donc de preference ne pas me suggerer de re Vb et les dll [ par fabmas ] bonjour, j'essaie juste de faire une petite DLL de rien du tout mais ca mrche pas !l'erreur c'est que mon prog d'utilisation de cette dll ne trouve pa appel d'une fonction dans une dll [ par FMatrix07 ] je ne vois pas trop comment faire si vous pouvez me donner un exemple concretpar exemple je veux utiliser la fontion CreateToolhelpSnapshot dans la dl VBA et librairie [ par Thierry LAFRONDE ] Bonjour, je cherche à savoir comment utiliser des fonctions qui sont dans des librairies (shell32.dll,user32.dll ...)J'ai trouvé ce code mais comment Comment créer une dll sans classe [ par iToons ] Bonjour,J'aimerai créer une dll (en VB6) avec un certain nombre de fonction utilisables par un exe (toujours VB6) qui utiliserait des des déclarations prblm déclaration de DLL c++ en vb [ par cirrus ] voila, g fouillez partout sur les message mais g rien trouvez qui puisse m'aider donc j'écrit texto mon prblm :)j'appelle une fonction de ma dll fait RegisterServiceProcess point d'entrée dll??? [ par spiderone ] Declare Function RegisterServiceProcess Lib "kernel32.dll" ( _ ByVal dwProcessID As Long, _ ByVal dwType As Long) As Longquand je lance un prog av Fonction des DLL [ par jujeco ] Je débute dans la programmation en VB6. J'utilise des sources que je trouve sur ce site et je les décortiques pour les comprandre. En général tout vas cards.dll [ par econs ] Salut tout le monde !!Le code ci dessous utilise cards.dllLe but de ce petit test est de remplir un tableau avec 13 cartes choisies parmi 52, et de le


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,265 sec (4)

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