begin process at 2012 05 29 22:26:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

problème sur l'utilisation d'une dll sous VB


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

problème sur l'utilisation d'une dll sous VB

vendredi 7 août 2009 à 20:46:58 | problème sur l'utilisation d'une dll sous VB

goffle

Bonjour,

J'ai réaliser il y a quelque temps une programme qui me permettait de contrôler le port parallèle grâce a la dll inpout32 sous code::blocks en C++.

J'aimerais reprendre ce programme sous VB toujours en C++ . Je copie exactement le même header et pourtant VB me sors des erreurs :

Error 1 error C2059: syntax error : 8
Error 2 error C2059: syntax error : 9
Error 3 error C2065: 'Inp32' : undeclared identifier 23
Error 4 error C2065: 'COM_Inp' : undeclared identifier 23
Error 5 error C2146: syntax error : missing ';' before identifier 'GetProcAddress' 23
.....



et voici mon code :

Code C/C++ :
#ifndef INPOUT32HEADER_H_INCLUDED

#define INPOUT32HEADER_H_INCLUDED



HINSTANCE COM_hLib = LoadLibrary(_T("INPOUT32.dll"));

typedef short _stdcall (*COM_Inp)(short AddrPort);
typedef void _stdcall (*COM_Outp)(short AddrPort, short Donnees);



inline int COM_Init()

{


if (COM_hLib == NULL) // Chargement de la DLL impossible
{
return -1;
}

Inp32 = (COM_Inp) GetProcAddress(COM_hLib, "Inp32");//pointeur définit sur cette fonction

if (Inp32 == NULL) // Pointage sur cette fonction impossible
{
return -2;
}

COM_Outp = (COM_Outp) GetProcAddress(COM_hLib, "Out32"); //pointeur définit sur cette fonction

if (COM_Outp == NULL) // Pointage sur cette fonction impossible
{
return -3;
}
return 0; // tout à bien fonctionné
}

inline void COM_Fin() // Libère la DLL

{
FreeLibrary(COM_hLib);
}

#endif // INPOUT32HEADER_H_INCLUDED



Pouvez vous m'aidez a résoudre mon problème ??? merci

samedi 8 août 2009 à 14:35:10 | Re : problème sur l'utilisation d'une dll sous VB

rt15

Membre Club Administrateur CodeS-SourceS

Salut,

VB ???? Tu veux direz VS ou VC j'espère...

Ensuite, bin si tu déclares pas Inp32, le compilo dit qu'il est pas déclaré, quoi de plus normal ?

Vu que ta fonction renvoie un entier, c'était peut être une variable globale dans ton programme original.

Et ton .h là, il n'a aucune include, c'est un peu bizarre.

samedi 8 août 2009 à 15:44:26 | Re : problème sur l'utilisation d'une dll sous VB

goffle

ha mince j'ai mis le mauvais header :
voici l'original qui ne passe pas :

Code C/C++ :
#include "stdafx.h"

#include "windows.h"

#ifndef INPOUT32HEADER_H_INCLUDED
#define INPOUT32HEADER_H_INCLUDED

typedef short _stdcall (*COM_Inp)(short AddrPort);
typedef void _stdcall (*COM_Outp)(short AddrPort, short Donnees);
HINSTANCE COM_hLib;
COM_Inp Lire;
COM_Outp Ecrire;


inline int COM_Init()

{
COM_hLib = LoadLibrary("inpout32.dll"); // chargement de la DLL

if (COM_hLib == NULL) // Chargement de la DLL impossible
{
return -1;
}

Lire = (COM_Inp) GetProcAddress(COM_hLib, "Inp32");//pointeur définit sur cette fonction

if (Lire == NULL) // Pointage sur cette fonction impossible
{
return -2;
}


Ecrire = (COM_Outp) GetProcAddress(COM_hLib, "Out32"); //pointeur définit sur cette fonction

if (Ecrire == NULL) // Pointage sur cette fonction impossible
{
return -3;
}

return 0; // tout à bien fonctionné
}

inline void COM_Fin() // Libère la DLL

{
FreeLibrary(COM_hLib);
}

#endif // INPOUT32HEADER_H_INCLUDED


les erreurs :
Error 1 error C2059: syntax error : '(' 7
Error 2 error C2059: syntax error : '(' 8

Error 3 error C2146: syntax error : missing ';' before identifier 'Lire' 10
Error 4 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 10

...

Error 10 error C2146: syntax error : missing ';' before identifier 'GetProcAddress' 24
ect ....

Oui c'est bien (VS) Visual studio 2008
merci

samedi 8 août 2009 à 15:59:27 | Re : problème sur l'utilisation d'une dll sous VB

rt15

Membre Club Administrateur CodeS-SourceS

J'ai pas Visual ici...

C'est les déclarations de COM_Inp et COM_Outp qu'il n'aime pas.
Essaie en remplaçant _stdcall par __stdcall (Deux underscores).

samedi 8 août 2009 à 18:13:02 | Re : problème sur l'utilisation d'une dll sous VB

juju12

Réponse acceptée !

Non,c'est la parenthèse qui est mal placée.
Ceci est correct :

Code C/C++ :

typedef short (_stdcall *COM_Inp)(short AddrPort);
typedef void (_stdcall *COM_Outp)(short AddrPort, short Donnees);


_stdcall ou __stdcall sont tous deux acceptés en l'occurence par VS.

samedi 8 août 2009 à 19:40:47 | Re : problème sur l'utilisation d'une dll sous VB

goffle

MERCI juju12 ^^ c'était ca le problème (et merci rt15 aussi )

J'avais déjà essayé avec les 2 underscores et ca ne changeais rien.

vous m'avez bien aidé !

@ bientôt



Cette discussion est classée dans : vb, dll, error, hlib, com


Répondre à ce message

Sujets en rapport avec ce message

dll C++ avec VB? harg! je craque! [ par BlackWizzard ] comment acceder aux element visual basic via une dll c++?par exemple, comment recuperer la valeur du pixel(3,2), changer la valeur de sa couleur et ap VB et DLL [ par jcharles ] Que je vous explique !J'ai effectué un Traducteur FrancaisAnglais sous VB avec l'acces a un fichier DICO1.INICe fichier DICO1.INI contient les mots Fr Exporter dll pr VB avec VC++6 [ par anthraxx ] Je n'arrive pas à creer un dll qui exporte une fonction et qui soit utilisable avec Visual Basic...Avec Visual C++ 6 j'ai cree une "dll win32"Puis j'a dll VC++ -> VB [ par Galagan ] Voila j'essait de faire une dll sous VC++ pour l'utiliser sous VB. Il y a un problemme de compatibilité entre les string de Vb et celle de Vc++. Comme DLL grand nombre pour VB [ par jmtoulon ] Bon jour @ tous.Bon voila je souhaitrais calculer avec VB des grands nombres genre 10^166 :)Mais vous savez que VB est limité. En fait je voudrais sav Un Mix ActiveX(VB)/DLL(C++) [ par none77 ] salut les djeun's et les moins djeun's !Voila j'ai fait un bout de code en C++.Je voulais mettre ca dans un ActiveX mais en C++ c'est super chaud !Com Dll VB en C? [ par Slider ] BonjourEst-il possible d'appeler une DLL écrite en VB depuis visual C???????J'ai lu quelques trucs dessus, mais rien de très concluant.Merci Dll (et ui, tjr la mm chose) [ par sebastienbro ] G un problème ! G fé une dll en c++ (ki d'ailleur, ne marche pas). L est sensé etre utilisé avec vb, mais voila : vb apelle la premiere fonction expor Dll + LoadLibrary [ par Manson ] Salut,voila, j'ai fais une dll dont le code est le suivant :void __declspec(dllexport)show_msg(HWND hWnd, char *msg){ MessageBox(hWnd, msg, "Dll Powa Problème de compilation d'une Dll [ par DrUn ] Bonjour, J'ai une Dll qui a été compilée par visual c++ il y a quelques temps. Cette Dll fait du WinHTTP. Elle n'a pas été modifiée et mon SDK non plu


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

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