Nuances entre VB5 et VB sous Win98 et Win XP

Messages postés
138
Date d'inscription
samedi 10 mars 2007
Statut
Membre
Dernière intervention
16 avril 2013
-
Messages postés
138
Date d'inscription
samedi 10 mars 2007
Statut
Membre
Dernière intervention
16 avril 2013
-
Bonjour,

J'ai chargé un programme en VB sur ce site (programme de pilotage de moteurs pas à pas par le port //).

Je n'arrive pas à faire tourner ce programme et, c'est également l'avis de l'auteur de la source, je rencontre des difficultés peut-être dues aux différences de version.

Voici donc les questions que je me pose et des réponses pourraient beaucoup m'aider:

- sous Win XP, il semble nécessaire d'utiliser une dll d'entrée sortie par le port // (inpout.dll par exemple)
- le programme est fait dans VB6 et je n'ai que VB5. Dans VB6, le programme fonctionne (chez l'auteur) en déclarant inpout.dll en sortie comme SUB et en entrée comme Function. Ces déclarations sont écrites dans le code de la feuille VB. Dans VB5, cela ne marche pas. Ne faut il pas déclarer les SUB et Function (externes) dans un module plutôt que dans la feuille? Si oui, est-ce la même syntaxe?
- dans VB6, il ne semble plus nécessaire de déclarer des SUB et Function internes (le code de la sub ou de la function est écrit dans la feuille). Faut-il les déclarer sous VB5? Si oui, où?

Mille merci d'avance pour l'aide....car je suis bloqué...

A bientôt

66 réponses

Messages postés
138
Date d'inscription
samedi 10 mars 2007
Statut
Membre
Dernière intervention
16 avril 2013

Bonjour,

L'essai avec Win Xp sur PC sans droits d'administrateur ne fonctionne pas.Arrivé à l'instruction out, le programme s'éjecte de VB et retour à l'écran Windows. Pas de message.

J'essaie avec le PC raccordé au cartes de contrôle.

Après, je change de dll....Je ne vois pas d'autres solution.

J'irais vers io.dll . Qu'en pensez-vous?

Merci et à +

Roland
Messages postés
138
Date d'inscription
samedi 10 mars 2007
Statut
Membre
Dernière intervention
16 avril 2013

Chers vous tous en particulier Casy qui m'aide depuis plusieurs jours...
Vous voyez au ton que les nouvelles sont bonnes...

Un moteur a tourné (comme désiré) sur le port //, dans VB5, sous win XP, avec la dll io.dll

Ce que j'ai fait :

J'ai démarré le PC en mode administrateur (ainsi j'ai tous les droits).
J'ai placé io.dll dans c:\windows\system32\
Quand on veut l'enregistrer sur regsvr32, cela ne va pas (Message: pas trouvé le point d'entrée)

Dans le programme j'ai déclaré très simplement:

Private Declare Sub PortOut Lib "c:\windows\system32\io.dll" (ByVal Port as Integer, Byval Data as Byte)
Je n'avais pas besoin de PortIn pour mon essai.

Attention la majuscule de Out dans PortOut est nécessaire!!!!!

L'instruction est

PortOut &H378, &H (valeur)  avec valeur en hexadécimal

C'est tout. Avec inpout .dll ça ne marche pas (mais sans doute que je fais quelque chose de pas OK)

Je ne pense pas que tout ce que j'ai fait soit nécessaire
- passage en mode administrateur
- essai d'enregistrement de la dll: pas necessaire
- écrire tout le chemin d'accès de la dll dans la déclaration: pas nécessaire si placée dans system32

Je suis heu-reux!! Merci à tous et à ceux qui organisent ce site dans lequel il y a une ambiance chaleureuse et une grande disponibilité à aider. C'est magique. Je reviendrai...

Je ne sais pas quelle réponse il faut "accepter", elles m'ont toutes aidé à avancer à (petits) pas

A+

Roland
Messages postés
292
Date d'inscription
samedi 25 février 2006
Statut
Membre
Dernière intervention
22 février 2009

Salut!

J'avais justement trouvé une question sur un autre forum confirmant ce que inpout32 ne marche pas sous XP et qu'il faut prendre io.dll (ce que ton post confirme), mais je n'était pas chez moi, donc impossible de modifier le prog. Je m'y colle tout de suite!
(Par contre comment ai-je pu la faire marcher chez moi??????? 8| )

Je vais donc mettre à jour suivant tes recommandations. Merci!

A+

VBGenesis
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Chez moi tout les prog que j'ai fait avec la dernière version d'inpout32.dll fonctionnent correctement.

Avec une version précédente il ya avait effectivement des problèmes avec le SP2 d'XP, mais cette version est censée avoir corriger tout ça.

Mais bon puisqu'il existe une autre solution ......

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
292
Date d'inscription
samedi 25 février 2006
Statut
Membre
Dernière intervention
22 février 2009

Merci casy!
Je n'ai peut-etre pas mis la meme version dans le zip, je ne sais pas...
En tout cas j'avais oublié de mettre l'adresse du forum dont j'ai parlé, si ca interresse quelqu'un:
http://www.developpez.net/forums/showthread.php?t=347305

On en vois enfin le bout!

VBGenesis
Messages postés
138
Date d'inscription
samedi 10 mars 2007
Statut
Membre
Dernière intervention
16 avril 2013

Bonjour,

Est-ce que VBGenensis est bien en Win XP?? Quelle version??

C'est peut-être la Version de Win Xp qui est en cause???

Si cela marche chez VBGenesis, tu ne dois pas nécessairement changer...

A+

Roland