Nuances entre VB5 et VB sous Win98 et Win XP

nicrolfi Messages postés 138 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 16 avril 2013 - 30 mai 2007 à 16:59
nicrolfi Messages postés 138 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 16 avril 2013 - 5 juin 2007 à 18:09
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

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 mai 2007 à 21:17
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.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 mai 2007 à 21:18
Excuse les fautes de frappe (dans le noir et avec des gros doigts, + le vin... hic...)
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 mai 2007 à 21:24
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
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 mai 2007 à 21:31
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 ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 mai 2007 à 21:37
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 mai 2007 à 21:50
 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
0
nicrolfi Messages postés 138 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 16 avril 2013
30 mai 2007 à 21:55
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
0
nicrolfi Messages postés 138 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 16 avril 2013
30 mai 2007 à 22:00
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 mai 2007 à 22:03
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 mai 2007 à 22:05
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 mai 2007 à 22:06
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
0
nicrolfi Messages postés 138 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 16 avril 2013
30 mai 2007 à 22:24
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
0
nicrolfi Messages postés 138 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 16 avril 2013
30 mai 2007 à 22:51
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
0
nicrolfi Messages postés 138 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 16 avril 2013
30 mai 2007 à 23:36
Grand merci à tous,

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

Je vous tiens au courant

Roland
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
31 mai 2007 à 08:27
OUBLIE REGSVR32 !!!!!!!!

Cette dll ne s'enregistre pas... Casy te l'a dit, pourtant.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
31 mai 2007 à 08:30
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.
0
nicrolfi Messages postés 138 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 16 avril 2013
31 mai 2007 à 15:37
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
0
nicrolfi Messages postés 138 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 16 avril 2013
31 mai 2007 à 21:30
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
31 mai 2007 à 21: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
0
nicrolfi Messages postés 138 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 16 avril 2013
31 mai 2007 à 21:51
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 
0
Rejoignez-nous