jul1409
Messages postés7Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention 3 juin 2010
-
20 févr. 2008 à 10:15
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
20 févr. 2008 à 17:55
Bonjour,
après 2 jours de galère, j'ai enfin trouvé comment ouvrir le COM17 (et plus) avec MSComm32.ocx.
1 - faire une copie au préalable de MSComm32.ocx
2 - ouvrir MSComm32.ocx avec un editeur Hexa
3 - rechercher "3D 10 00" (c'est la 2ème occurence, s'il y en a 2)
4 - remplacer par "3D FF 00"
5 - enregistrer les modif
et hop, l'affaire est dans le sac
Jul1409
A voir également:
Ouverture de port COM supérieur à Com16 avec MSComm32
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 20 févr. 2008 à 10:26
Bonjour
Faire plus bourrin, c'est vraiment difficile , mais si ça marche ... pourquoi pas (et chapeau pour l'astuce), personnellement j'aurais conseiller de refaire une gestion du port avec les APIs.
Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 20 févr. 2008 à 13:29
On passera sur le caractère illégal d'une telle méthode, mais il faudra tout de même bien réfléchir lors d'un déploiement, car il faudra obligatoirement déployer cet ocx. Hors si sur la machine cible, se trouve déjà cet ocx, mais en version plus récente, il y a de forte chance qu'il ne soit pas remplacer. Et donc le code l'employant ne fonctionnera plus.
Chapeau pour l'astuce, mais je pense qu'il convient mieux de passer par des méthodes plus "propre".
Comment as-tu réussi à trouver une telle chose, tu t'es amuser à décompiler l'ocx ????
pneau
Messages postés258Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention27 octobre 20105 20 févr. 2008 à 14:39
salut,
Je suis du même avis... utiliser les API aurait été plus propre que de modifier le composant MSCOMM...
mais bon, si cela marche, pourquoi pas... a voir pour le déploiement et la maintenance... surtout dans des environnements style TSE ou le composant MSCOMM n'est vraiment, vraiment pas performant...
@+
Pat
Don't Worry , Be Happy
<hr />lorsque le problème est résolu, pensez Réponse Acceptée
jul1409
Messages postés7Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention 3 juin 2010 20 févr. 2008 à 15:29
re Bonjour à tous,
merci pour vos réponses.
casy:
Il est vrai que je ne l'ai pas précisé mais cette "astuce" n'est pas de moi. j'ai trouvé ça ici : http://www.codenewsgroups.net/group/microsoft.public.vb.general.discussion/topic10158.aspx Quant au caratère illégal, en effet, je me suis posé la question avant de publier cet info ... mais bon ...
Une solution pour déployer est de refaire un OCX avec l'OCX MSComm32 en question et d'implémenté juste les fonctions qui sont utiles. Mais je pense que ça aussi c'est pas très légal.
pneau:
Effectivement, j'ai bien pensé aux API, mais là c'est du boulot ...
Merci à tous pour vos remarques.
Jul1409
PS : la VRAI question est : - " Pourquoi Monsieur ..crosoft n'a pas encore mis un MSComm32 pouvant accéder à tous les ports séries ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 20 févr. 2008 à 17:55
" ...PS : la VRAI question est : - " Pourquoi Monsieur ..crosoft n'a pas
encore mis un MSComm32 pouvant accéder à tous les ports séries ? ..."
Tout simplement parce que MSCOMM32 et les ocx en général sont plus destinés à fonctionner avec VB6. Pour rappel VB6 date de 97 et à l'époque, très rare étaient les machines qui avaient à gérer plus 4 port comm (avec 16 on avait de la marge). Et à l'époque c'était bien suffisant. De plus pour des ports supplémentaires, il fallait rajouter des cartes d'extentions, qui avec leurs drivers, rajoutaient leur propre gestion de ports par des dll proprio.
MSCOMM32 date de 98 et n'a jamais été mis à jour depuis. Pourquoi, parce que dans un premier temps, le besoin n'existait pas, parce que avec les API il est possible de s'affranchir de cette limite.
Parce que dans un second temps, lorsque le besoin s'est fait sentir (Bluetooth, WIFI, ...) .Net était déjà là avec ses 255 ports possibles, VB6 déjà déclaré obsolète par M$, donc abandonné. Sachant que normalement avec .Net le principe des ocx est purement abandonné.
Ces raisons font que la mise à jour de MSCOMM32 ne s'est jamais présenter comme une nécessité.