[VC++] dll pour le port parallele, need help !

dll pour le port parallele, need help ! [VC++] - Programmation

Marsh Posté le 03-12-2001 à 23:42:46    

voila j'ai déja rechercher sur le forum commetn piloter un port // depuis Nt ou win 2000
j'utilise Visual C++ 6.0
j'ai trouvé cette page : http://users.skynet.be/k-net/ParPort/index.html
et sur celel ci ce programme : http://users.skynet.be/k-net/ParPort/tvicport.zip
 
le programme marche bien mais je n'arrive pas a me servir de la Dll :(
j'ai bien mis les .h et le .lib (j'ai juste fait add file to project)
mais j'obitien lors de la copilation ce msg :unresolved external symbol "void __stdcall SetHardAccess(unsigned char)" (?SetHardAccess@@YGXE@Z)
 
ça fait 2-3 heures que je cherche pkoi ça déconne en vaim :( je suis débutant alors  c'est peut etre évident pour vous.
 
merci.

Reply

Marsh Posté le 03-12-2001 à 23:42:46   

Reply

Marsh Posté le 04-12-2001 à 00:33:31    

tu doit ajouter le .lib dans la liste des .lib qu'il y a dans project setting / Linker

Reply

Marsh Posté le 04-12-2001 à 01:52:36    

oui j'ia fait cela mais cela ne change rien :(
pourtna mon .lib est bien dans le répertoire racine ..
je comprend rien :(
et j'ai pas le temps en plus :(

Reply

Marsh Posté le 04-12-2001 à 09:18:25    

svp je suis vraiment dans la merde ...

Reply

Marsh Posté le 04-12-2001 à 09:21:03    

t sur qu'ya qu'une lib de fournie ?

Reply

Marsh Posté le 04-12-2001 à 09:26:18    

Moi j'avait eu ca une fois et ca venait du fait que j'avait nommé mon fichier truc.c  et pas truc.cpp  ... alors essaye d'inverser tes extensions ..
 
Sinon, y a aussi peut etyre la convention d'appel __fastcall, __stdcall ou __cdecl a changer dans les options

Reply

Marsh Posté le 04-12-2001 à 09:28:04    

voui, tiens, la fonction SetHardAccess tu l'as dans ton source (ou pas du tout ?)
 
si jamais elle est dans un source n .c alors renomme le .cpp (thks 246tNt :) )

Reply

Marsh Posté le 04-12-2001 à 09:51:17    

chrisbk oui ily a une librairie. i l y a meme u nexemple complet en C .. et moi mon prog est en c++ (avec mcf)
et comme j'a icrée un clase pour faire l'acces au port je suis bien dans un .cpp
SetHardAccess je ne l'ai pas dans mon source, elel est uniquement déclaré dans un fichier .h que j'ai inlcu biensur.
 
si quelqu'un a un peu de temps qu'il dl le pti sample ici : http://users.skynet.be/k-net/ParPort/tvicport.zip  
 
ça prend 10s  
merci.

Reply

Marsh Posté le 04-12-2001 à 09:54:28    

dans TVICPORT.H, decommente le bloc :
 
//#ifdef __cplusplus
//    extern "C" {
//#endif // __cplusplus

Reply

Marsh Posté le 04-12-2001 à 09:57:52    

ok j'essayerai  ..
 
la je suis en Projet a mon école .. mais j'ai VC++ que chez moi.
merci chrisbk
 
ce que je comprend pas c'est que dans le programme initial cela fonctionne bien .. mais une fosi dans le miens ça déconne :(
j'ai meme cahnger les optiosn de compilation pour metre les memes que le sample.

Reply

Marsh Posté le 04-12-2001 à 09:57:52   

Reply

Marsh Posté le 04-12-2001 à 10:00:33    

ben parce que le programme initial est en C, et la lib fourni a les fonction mais en C
 
en C++, les fonctions sont decores (parce que tu peux les surcharger, le nom seul de la fonction ne suffit plus a l'identifier)
 
Alors  visu cherche la fonction "void __stdcall SetHardAccess(unsigned char)" (?SetHardAccess@@YGXE@Z)" (note le bins de la decoration apres le nom) et dans la lib il ne trouve que la version C, non decore (_SetHardAccess)
bref ca colle pas
 
(qu'on me reprenne si je me plante)  
 
Avec le extern C tu specifie que ce qu'il y a est declare avec la convention C (tu pourras pas surcharger tes fonction par ex), et la il devrait pouvoir y retrouver les petits
 
(perso je me demande pkoi le bout a ete commente)

 

[edtdd]--Message édité par chrisbk--[/edtdd]

Reply

Marsh Posté le 04-12-2001 à 10:04:57    

ok je comprend le gros du principe ..
 
c clair que moi je comprend encore moins mais bon :)
 
je te redirai cela ce soir .. si cela fonctionne :)

Reply

Marsh Posté le 04-12-2001 à 21:20:17    

chrisbk c'était bien cela en effet :)
merci bcp :) tu me sauves là :)
 
pour faire simple ce programme va servir a piloter uen carte électronique, laquelle envoie les information du pc sur un  magnétoscope.  
le but est de faire un système permettant de sauvegarder des données du pc sur une K7 vidéo et vice versa .. (récuop les données) ..  
c'est un projet un peu fou que l'on a choisi mais bon :)
 
a+
 
merci encore :)
 
 :hello:

Reply

Sujets relatifs:

Leave a Replay

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