2010-01-08 4 views
0

J'utilise la bibliothèque de classes Rs232 dans une application vb.net pour imprimer du texte sur une imprimante POS. la semaine dernière certains de nos clients ont mis à niveau leur système vers des versions Windows 7 x64 bits et commencent à échouer lorsqu'ils impriment du texte via COM à l'imprimante. Quelqu'un peut-il m'aider à ce sujet? Y at-il quelque chose de spécial à faire avec un environnement 64 bits lorsque vous utilisez la bibliothèque Rs232 ou est-ce l'application elle-même qui a besoin d'être modifiée?Différence entre la communication 32 bits <> 64 bits et la communication série

+0

Quelle erreur obtenez-vous? Si non, que se passe-t-il? – Ioan

+0

L'exception levée im getting est "Erreur de commande d'écriture". il se produit dans le CRs232.vb Si Marshal.GetLastWin32Error <> ERROR_IO_PENDING puis Throw New ApplicationException ("Erreur de commande d'écriture") Sinon, merci pour votre temps! – Alexander

+0

http://files.codes-sources.com/fichier.aspx?id=38418&f=send+SMS%5CCRs232.vb – Alexander

Répondre

2

Il n'y a aucune différence dans la prise en charge du port série pour x64 Win7. Le port COM est cependant susceptible d'être manquant ou à un autre numéro de port. Votre client devra utiliser le Gestionnaire de périphériques pour trouver le bon numéro de port.

+0

Il n'y a aucun problème à ouvrir le COMport, je pense .. Excepetion "Write Command Error". Est lancé. – Alexander

+0

Erreur de commande d'écriture ne signifie rien. Vous allez devoir améliorer votre gestion des erreurs. Quelle est la valeur de LastWin32Error()? Et utilisez la classe System.IO.Ports.SerialPort. –

+0

Merci Nobugz, donc vous dites que je devrais plutôt utiliser le System.IO.Ports.SerialPort au lieu de CRs232.vb? – Alexander

0

Ancien poste mais ajout d'une solution pour toute personne cherchant dans le futur. Je ne suis pas certain de la cause première de cela, mais compiler votre application strictement pour x86 résoudra ce problème.

Project > YourProject Properties... > Compile tab > Advanced Compile Options... > Choose x86

Vous devez utiliser System.IO.Ports.SerialPort dans le cadre à l'avenir bien.

Questions connexes