Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème pgm VB6.0 et COMM1 [ Windows / ActiveX / COM ] (Tgrafik)

dimanche 25 juin 2006 à 22:03:17 | Problème pgm VB6.0 et COMM1

Tgrafik


J'ai un problème avec mon port série sous visual basic 6 : je viens d'écrire une application VB6.0 et
je n'ai rien du tout en sortie de mon port comm1 lorsque j'utilise MScomm (PORT SÉRIE RS232).
Je suis capable de recevoir des messages mais je ne peux en envoyer. Je voudrai donc savoir d'ou vient le problème. Est-ce une dll manquante, une composante à ajouté, version Windows XP PRO INCOMPATIBLE, etc... ???


Ghis.

dimanche 25 juin 2006 à 22:11:19 | Re : Problème pgm VB6.0 et COMM1

casy

Membre Club
Si tu reçois correctement des messages sur ton port, le problème ne viens pas d'une dll ou de Windows. Le composant fonctionne correctement. Il n'y a rien à rajouter. Win XP Pro est parfaitement compatible avec MsComm.

Au pire ton port est physiquement grillé en sortie suite à une mauvaise manip de ta part.

Sinon le problème vient de ton programme.




Sevyc64  (alias Casy)

# Le partage est notre force #

dimanche 25 juin 2006 à 22:24:56 | Re : Problème pgm VB6.0 et COMM1

Tgrafik

Je ne crois pas que mon Port est grillé comme tu dis, mais j'ai été tester mon pgm sur un autre poste et j'ai le même problème.

Je te met un bout de code que j'utilise et tu verras peut-être des choses que j'ignore.

'*** par défaut j'assigne COMM1
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputMode = comInputModeText
MSComm1.RThreshold = 1     'permet de gérer l'événement CommEvent : réception
MSComm1.SThreshold = 1     'permet de gérer l'événement CommEvent : envoi

    '*** envoie commande au port COMMx
On Error Resume Next
MSComm1.Output = "1b 32 00"     '* clear tous les buffers
Call hb_ms_sleep(230)
On Error Resume Next
MSComm1.Output = "1b 40 00"     '*** K1b4000
Call hb_ms_sleep(55)

Le problème est peut être que les commandes que j'envoie à mon interface ne sont pas reçu est Hex, mais je ne sais pas comment l'interface recoit les commandes que je lui envoie. Je sais que la commande "1b 32 00" est en Hexa mais MSComm1.Output = "1b 32 00" est envoyé en caractère . Je ne sais plus quoi penser !.

Merci de m'éclairer.

Ghis.


dimanche 25 juin 2006 à 22:38:08 | Re : Problème pgm VB6.0 et COMM1

casy

Membre Club
Réponse acceptée !
Effectivement le problème vient surrement des commandes que tu envois.

Apparement ce que tu souhaite envoyer ce sont des séquences dites d'échappement et il faut bien les envoyer en hexa et non pas en caractères comme tu fait. Il ne faut pas envoyer les caractères "1" et "b" mais le caractère correspondant au code hexa "1b" (qui est le caractère correspondant à la commande ESCape d'ou le nom de séquence d'échappement)

Je te donne la première convertion, tu fera les suivantes.

MSComm1.Output = Chr$(&H1B) & Chr$(&H32) & Chr$(&H0)

&H pour dire que c'est de l'hexa,
Chr$() pour récupérer le caractère correspondant à ton code hexa.


Sevyc64  (alias Casy)

# Le partage est notre force #

dimanche 25 juin 2006 à 23:07:08 | Re : Problème pgm VB6.0 et COMM1

Tgrafik

Cevic64, toi être un  GÉNIE .

Ça fonctionne. C'était ça le truc les regrouper par 2, j'avais essayer en les envoyant 1 par 1 et il ne faut pas c'est du Hexa il faut y aller par groupe de 2.

Bravo et
   Un gros merci.

Ghis.

lundi 26 juin 2006 à 00:32:25 | Re : Problème pgm VB6.0 et COMM1

Tgrafik

J'ai un autre problème avec la commande suivante:
Si je fais cette commande :

MSComm1.Output = Chr$(&H1) & Chr$(&H10) & Chr$(&H2) & Chr$(&H3)
Ceci fonctionne parfaitement.

Mais ceci me cause un problème:
MaZoneTransmission.Caption = Chr$(&H1) & Chr$(&H10) & Chr$(&H2) & Chr$(&H3)
MSComm1.Output = MaZoneTransmission.Caption

Aussitôt  que je met ma commande dans une variable et que je veux exécuter le contenu de ma variable ça ne fonctionne plus. Comment puis faire pour exécuter les commandes en Hexa contenu dans une variable.

Merci.
Ghis.

lundi 26 juin 2006 à 08:04:44 | Re : Problème pgm VB6.0 et COMM1

casy

Membre Club
Tu ne les met pas dans une variable mais dans un controle. De manière générale les controles ne gerent ou très mal les caractères dit non affichable (en gros <&h20 et >&h7F).

Ce que tu peux faire c'est passer par une variable intermédiaire.

dim chnTrans as String
chnTrans = Chr$(&H1) & Chr$(&H10) & Chr$(&H2) & Chr$(&H3)
MSComm1.Output = chnTrans
' et si tu veux l'affichée quand meme
MaZoneTransmission.Caption = chnTrans




Sevyc64  (alias Casy)




Cette discussion est classé dans : problème, port, vb6, pgm, comm1


Répondre à ce message

Sujets en rapport avec ce message

problème d'installation d'appli développée en VB6 [ par isa ] lorsque je déploie mon appli sur un autre poste, l'installation plante avec le message suivant :'le fichier c:TEMPmsftqws.pdw$(DLLSelfRegisterEx) ne p A l'aide : Run time error 372 ???? [ par Daniel Vandewalle ] Bonjour, merci de lire ce message.Après avoir laissé tomber VB pendant un long moment, je suis obligé de m'y remettre. Mais j'ai un problème. J'ai i Problème d'emission de données sur un port série [ par Lolo ] Plusieurs collègues et moi même avont constaté un bug du contrôle activeX MSComm32.ocxEn effet lors de l'envoi de données sur le port série en XOn Xof Problème d'emission de données sur un port série [ par Lolo ] Plusieurs collègues et moi même avont constaté un bug du contrôle activeX MSComm32.ocxEn effet lors de l'envoi de données sur le port série en XOn Xof URGENT !!! problème de gestion d'Access 2000 avec VB6 [ par dracer ] Bonjours à tous.Comment crypter une base de données Access 2000 pour que seul un administrateur puisse agir sur la base de données, les utilisateurs n Help ! PrintOut sur Excel [ par alolo ] Bonjour et bonne année.Gros problème : modeste programmeur, j'ai créé une application financière VB6 qui utilise in fine l'impression des résultats so çà)è(-è_ Problème ! [ par dave ] Lorsque je compile mon appli (vb6), le message d'erreur suivant apparait :VB6 a provoqué une erreur dans Le programme VB6 va maintenant être arrêté.Av Problème d'installation [ par Tatar ] Bonjour a tous,j'ai fait un programme en VB6 et j'essaie de l'installer sur des portables. Manque de pot, sur les portable, il ne marche pas complètem Problème avec le port parallèle [ par OrionLG ] J'ai un problème avec Windows XPLorsque j'exécute une application sous VB6 utilisant le port parallèle (avec inpout32.dll), le programme me génère un Problème de création de fichier d'installation entre VB6 et crystal V8.5 [ par Nicolas ] Bonjour,J'utilise VB6 pour mes développements. J'ai installé dernièrement (pour mon plus grand malheur) crystal report V8.5 Développeur. (avant j'uti


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.