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
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Exactn Cast,
Je n'avais pas vu que tu l'avais trouvée, cette Dll, et que tu en donnais le lien.
Rlle marche vien, en tout cas (plus d'erreur)
Mais, sans la carte correspondante, je ne peux vérifier plus loin.
Je pense que notre ami a maintenant tout ce qu'il lui faut.
A lui de jouer.
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Excuse les fautes de frappe (dans le noir et avec des gros doigts, + le vin... hic...)
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Pour tester ??? MDR

Tu connecte une imprimante sur le port //

Tu envoie les caractères 'B', 'o', 'n', 'j', 'o', 'u', 'r' et fin de document (connais plus le code), et si tu as de la change et un joujou quelque peu compréhensive, tu admire le résultat.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Ouais...
Faudrait alors que j'ouvre le capot et que je fasse ce qu'il convient de faire pour restituer ce que j'ai enlevé : une sortie sur port parallèle...(je n'en ai plus en ce moment...)
Il est fou, ce jmf, tu peux me croire ...
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Oui, puis c'était une boutade.

Ce que j'ai dis est possible mais c'est plus complexe que ça, il faut se regérer entièrement le protocole à la main. Et puis si avec une matricielle ça marche encore bien, c'est bien plus compliqué avec les imprimantes modernes qui ne se contente plus du protocole de base pour imprimer.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
 Pour en revenir au problème de nicrolfi, il est vrai que personnellement j'ai toujours travailler avec un compte avec des droits administrateurs.

Cette dll créant et installant un driver dynamique, il est possible que si tu travaille avec un compte utilisateur ayant des droits restraint, tu n'as peut-etre pas le droit d'installer un tel driver.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
138
Date d'inscription
samedi 10 mars 2007
Statut
Membre
Dernière intervention
16 avril 2013

J'avance:
J'ai téléchargé sur le site officiel www;logix4u.net.

J'obtiens  5 fichiers inpout32drv avec 5 suffixes différents: cpp def dsp dsw rc

Lequel dois-je placer dans system32 et lequel enregistrer avec regsvr32?

Merci

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

Pour répondre à Casy:

J'ai déjà essayé sur PC avec et sans droits d'administrateur.

La dll ne sait pas être enregistrée dans les deux cas.

Merci d'avoir réfléchi pour moi

Roland
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
regarde dans le répertoire Binaries\Dll, tu as inpout.dll, c'est ce fichier qui est à placer dans le dossier System32.

Ensuite dans le répertoire test applications\VB_test_app, tu récupère le fichier INPOUTV4.bas, que tu copie dans le réertoire de ton projet puis tu l'inclu à ton projet.

Et tu supprime toutes les déclarartions des fonctions que tu avait pu faire auparavent.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
regarde dans le répertoire Binaries\Dll, tu as inpout.dll, c'est ce fichier qui est à placer dans le dossier System32.

Ensuite dans le répertoire test applications\VB_test_app, tu récupère le fichier INPOUTV4.bas, que tu copie dans le réertoire de ton projet puis tu l'inclu à ton projet.

Et tu supprime toutes les déclarartions des fonctions que tu avait pu faire auparavent.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
regarde dans le répertoire Binaries\Dll, tu as inpout.dll, c'est ce fichier qui est à placer dans le dossier System32.

Ensuite dans le répertoire test applications\VB_test_app, tu récupère le fichier INPOUTV4.bas, que tu copie dans le réertoire de ton projet puis tu l'inclu à ton projet.

Et tu supprime toutes les déclarartions des fonctions que tu avait pu faire auparavent.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
138
Date d'inscription
samedi 10 mars 2007
Statut
Membre
Dernière intervention
16 avril 2013

Hé,hé,...

je n'ai plus de message "VB a rencontré un problème...et VB ne ferme plus

Je vais essayer de faire tourner le moteur.

Je dois déménager mon portable à l'étage où est stand d'essais, local qui lui n'est pas relié a l'adsl et mon portable n'est pa wifi...

Je n'arrive pas toujours à suivre le progrès

A dans quelques minutes... d'ici là il y aura peut être un "miracle" car je commençais à désespérer

merci

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

Ca ne marche pas encore, mais il y a un mieux:

Tout est bien branché...(j'ai fait un test)

Je lance le progrmme...l'écran de commande apparait...j'indique les données dans les fenêtres...je lance en cliquant sur le petit triangle noir couché >...un bouton témoin modifie sa couleur sur l'écran (passe de rouge à vert)

Il ne se passe rien (le moteur ne tourne pas et le témoin reste vert ) ...le sablier reste actif...je veut arrêter le programme en cliquant sur le carré noir...rien

Quand je clique sur la croix tout-à-fait en haut à droite, le programme fini par se fermer et apparait un message "Le programme ne répond pas".

Attention, je n'ai pas enregistré la dll dans regsvr32...

Je vais revoir si j'ai bien tout fait comme vous m'avez demandé...

Quand pensez-vous...???

Encore merci de votre patience

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

Grand merci à tous,

Je vais dormir "sur ce problème".
Demain je fais d'autres essais.

Je vous tiens au courant

Roland
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
OUBLIE REGSVR32 !!!!!!!!

Cette dll ne s'enregistre pas... Casy te l'a dit, pourtant.
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
si la dll est dans ton repertoire System32, declare simplement :

Private Declare Function Inp Lib "InpOut32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Private Declare Sub Out Lib "InpOut32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)


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

Bonjour à tous et en particulier à Renfield, Cazy, Jmfmarques, Exploreur, VBGenesis...

Merci pour les nouvelles réponses.

Je ne parlerai plus de regsvr32, juré promis.

J'ai fait toute la procédure que vous avez préconisée et les instructions de Renfield reprise dans son message de 8.30.31h ont été placées dans un module en Public au lieu de Private.

Cela se passe ensuite comme dans avant dernier message de hier.

Je vais essayer avec un programme plus simple ou bien ajouter des instructions pour voir comment le programme se déroule...

A bientôt

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

Bonjour à tous,


J'ai refait une série d'essais et cela ne donne pas grand chose...


J'ai fait un petit programme simplifié et c'est au moment où le programme doit recevoir les signaux d'horloge et qu'il attend dans une boucle, qu'il ne reçoit rien et, fatalement...rien ne se passe plus...


N'ayant pas le signal d'horloge, le programme n'envoie rien par le port Parallèle . Le seul programme en source (les autres sont compilés, et je ne sais donc pas aller voir le code) qui a été fourni avec les cartes de contole est un petit programme d'une vingtaine de lignes. Ce programme date de 1999 (du siècle dernier), devrait fonctionner sous Win98 en en faisant l'habillage sous VB (il est en tout cas en basic).J'ai essayé sans succès.


Le même compilé fonctionne.


Je peux envoyer ces fichiers sur l'E-mail de celui qui accepte de poursuivre" l'aventure" avec moi.


Merci d'avance


Roland
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
comment ton programme doit recevoir les signaux d'horloge ????

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
138
Date d'inscription
samedi 10 mars 2007
Statut
Membre
Dernière intervention
16 avril 2013

Bonjour Casy,

Il reçoit un signal d'horloge par le port parallèle ; ce signal est "émis" par la carte de contrôle du premier moteur.

Cette fréquence qui peut d'ailleurs être modifiée par un petit rhéostat placé sur la carte (multipliée par un coefficient que l'on choisi) donne l'intervalle entre les données que le programme transmet aux moteurs toujours par le port //.

Je peux insérer des photos si tu le désires...

Merci de poursuivre...

Roland