J'ai en gros le même problème que Simsim avec son imprimante thermique.
Rappel:
[...]
J'imprime via mscom sur un port série. Le problème c que j'ai un drivers
installé sur ce port. Je voucrait imprimer via un mscom.outpout mais quand
j'ouvre le port via mscom.PortOpen j'ai une erreur du a l'installation de se
drivers.
[...]
Pour ma part je souhaite envoyer des chaines de caractères à l'imprimante et
réceptionner les retours de celle-ci.
J'arrive à lui envoyer les commandes sans aucun problème via l'API
WritePrinter.
En revanche, il m'est impossible de lire les retours via ReadPrinter.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
Hello,
Peux-tu préciser " il m'est impossible de lire les retours via ReadPrinter." ? Ca plante VB? avec une GPF? Ca retourne une valeur différente de zéro? autre?
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Benoit" a écrit dans le message de news:
il m'est impossible de lire les retours via ReadPrinter.
Hello,
Peux-tu préciser " il m'est impossible de lire les retours via ReadPrinter."
?
Ca plante VB? avec une GPF? Ca retourne une valeur différente de zéro?
autre?
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Benoit" <supportnospam@printherm.com> a écrit dans le message de
news:ub4gRgRXEHA.3044@TK2MSFTNGP09.phx.gbl
il m'est impossible de lire les retours via ReadPrinter.
Peux-tu préciser " il m'est impossible de lire les retours via ReadPrinter." ? Ca plante VB? avec une GPF? Ca retourne une valeur différente de zéro? autre?
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Benoit" a écrit dans le message de news:
il m'est impossible de lire les retours via ReadPrinter.
ng
Salut,
Peut-on voir ton code ?
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
Benoit a écrit :
Oui l'API ReadPrinter me retourne 0 donc, elle a échouée. Selon l'API GetLastDllError, se serait du à un mauvais Handle, mais c'est le même que celui sur lesquelles je fais toutes les opérations, et celui-ci fonctionne. ... bizarre
benoit
Hello,
Peux-tu préciser " il m'est impossible de lire les retours via ReadPrinter." ? Ca plante VB? avec une GPF? Ca retourne une valeur différente de zéro? autre?
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Benoit" a écrit dans le message de news:
il m'est impossible de lire les retours via ReadPrinter.
Salut,
Peut-on voir ton code ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Benoit <supportnospam@printherm.com> a écrit :
Oui l'API ReadPrinter me retourne 0 donc, elle a échouée.
Selon l'API GetLastDllError, se serait du à un mauvais Handle, mais
c'est le même que celui sur lesquelles je fais toutes les opérations,
et celui-ci fonctionne.
...
bizarre
benoit
Hello,
Peux-tu préciser " il m'est impossible de lire les retours via
ReadPrinter." ?
Ca plante VB? avec une GPF? Ca retourne une valeur différente de
zéro? autre?
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Benoit" <supportnospam@printherm.com> a écrit dans le message de
news:ub4gRgRXEHA.3044@TK2MSFTNGP09.phx.gbl
il m'est impossible de lire les retours via ReadPrinter.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
Benoit a écrit :
Oui l'API ReadPrinter me retourne 0 donc, elle a échouée. Selon l'API GetLastDllError, se serait du à un mauvais Handle, mais c'est le même que celui sur lesquelles je fais toutes les opérations, et celui-ci fonctionne. ... bizarre
benoit
Hello,
Peux-tu préciser " il m'est impossible de lire les retours via ReadPrinter." ? Ca plante VB? avec une GPF? Ca retourne une valeur différente de zéro? autre?
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Benoit" a écrit dans le message de news:
il m'est impossible de lire les retours via ReadPrinter.
Benoit
Oui l'API ReadPrinter me retourne 0 donc, elle a échouée. Selon l'API GetLastDllError, se serait du à un mauvais Handle, mais c'est le même que celui sur lesquelles je fais toutes les opérations, et celui-ci fonctionne. ... bizarre
benoit
Hello,
Peux-tu préciser " il m'est impossible de lire les retours via
ReadPrinter."
? Ca plante VB? avec une GPF? Ca retourne une valeur différente de zéro? autre?
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Benoit" a écrit dans le message de news: >il m'est impossible de lire les retours via ReadPrinter.
Oui l'API ReadPrinter me retourne 0 donc, elle a échouée.
Selon l'API GetLastDllError, se serait du à un mauvais Handle, mais c'est le
même que celui sur lesquelles je fais toutes les opérations, et celui-ci
fonctionne.
...
bizarre
benoit
Hello,
Peux-tu préciser " il m'est impossible de lire les retours via
ReadPrinter."
?
Ca plante VB? avec une GPF? Ca retourne une valeur différente de zéro?
autre?
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Benoit" <supportnospam@printherm.com> a écrit dans le message de
news:ub4gRgRXEHA.3044@TK2MSFTNGP09.phx.gbl
>il m'est impossible de lire les retours via ReadPrinter.
Oui l'API ReadPrinter me retourne 0 donc, elle a échouée. Selon l'API GetLastDllError, se serait du à un mauvais Handle, mais c'est le même que celui sur lesquelles je fais toutes les opérations, et celui-ci fonctionne. ... bizarre
benoit
Hello,
Peux-tu préciser " il m'est impossible de lire les retours via
ReadPrinter."
? Ca plante VB? avec une GPF? Ca retourne une valeur différente de zéro? autre?
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Benoit" a écrit dans le message de news: >il m'est impossible de lire les retours via ReadPrinter.
François Picalausa
Hello,
Question bête, l'imprimante est bien bidirectionnelle? Ton code me semble correct!
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Benoit" a écrit dans le message de news:%
Hello,
Question bête, l'imprimante est bien bidirectionnelle?
Ton code me semble correct!
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Benoit" <supportnospam@printherm.com> a écrit dans le message de
news:%23m8E9odXEHA.1684@tk2msftngp13.phx.gbl
Private Type DOCINFO pDocName As String pOutputFile As String pDatatype As String End Type
Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long Private Declare Function EndDocPrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long Private Declare Function EndPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long Private Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, _ phPrinter As Long, ByVal pDefault As Long) As Long Private Declare Function StartDocPrinter Lib "winspool.drv" Alias "StartDocPrinterA" (ByVal hPrinter As Long, _ ByVal Level As Long, pDocInfo As DOCINFO) As Long Private Declare Function StartPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long Private Declare Function WritePrinter Lib "winspool.drv" (ByVal hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, _ pcWritten As Long) As Long Private Declare Function ReadPrinter Lib "winspool.drv" (ByVal hPrinter As Long, pBuf() As Byte, ByVal cdBuf As Long, _ pNoBytesRead As Long) As Long
Private Sub cmdEnvoyer_Click()
Dim lhPrinter As Long Dim lReturn As Long Dim lpcWritten As Long Dim lDoc As Long Dim sWrittenData As String Dim MyDocInfo As DOCINFO
If OpenPrinter(Printer.DeviceName, lhPrinter, 0) = 0 Then MsgBox "The Printer Name you typed wasn't recognized." Exit Sub End If
'ici, on envoie <TEST> à l'imprimante. Ceci fonctionne très bien. lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, Len(sWrittenData), lpcWritten)
Dim byTab(500) As Byte Dim lNbReadData As Long
'ici, on essai de récupérer le retour de l'imprimante. Mais là, ça ne marche pas. If ReadPrinter(lhPrinter, byTab, 500, lNbReadData) = 0 Then _ MsgBox "ReadPrinter fails: " & ApiErrorText(Err.LastDllError)
End Sub --------------------------------------------------
Benoit
Salut,
Peut-on voir ton code ?
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
Benoit a écrit :
> Oui l'API ReadPrinter me retourne 0 donc, elle a échouée. > Selon l'API GetLastDllError, se serait du à un mauvais Handle, mais > c'est le même que celui sur lesquelles je fais toutes les opérations, > et celui-ci fonctionne. > ... > bizarre > > benoit > >> Hello, >> >> Peux-tu préciser " il m'est impossible de lire les retours via >> ReadPrinter." ? >> Ca plante VB? avec une GPF? Ca retourne une valeur différente de >> zéro? autre? >> >> -- >> François Picalausa (MVP VB) >> http://faq.vb.free.fr --- http://msdn.microsoft.com >> http://apisvb.europe.webmatrixhosting.net >> >> "Benoit" a écrit dans le message de >> news: >>> il m'est impossible de lire les retours via ReadPrinter.
Private Type DOCINFO
pDocName As String
pOutputFile As String
pDatatype As String
End Type
Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As
Long) As Long
Private Declare Function EndDocPrinter Lib "winspool.drv" (ByVal hPrinter As
Long) As Long
Private Declare Function EndPagePrinter Lib "winspool.drv" (ByVal hPrinter
As Long) As Long
Private Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA"
(ByVal pPrinterName As String, _
phPrinter As Long, ByVal pDefault As Long) As Long
Private Declare Function StartDocPrinter Lib "winspool.drv" Alias
"StartDocPrinterA" (ByVal hPrinter As Long, _
ByVal Level As Long, pDocInfo As DOCINFO) As Long
Private Declare Function StartPagePrinter Lib "winspool.drv" (ByVal hPrinter
As Long) As Long
Private Declare Function WritePrinter Lib "winspool.drv" (ByVal hPrinter As
Long, pBuf As Any, ByVal cdBuf As Long, _
pcWritten As Long) As Long
Private Declare Function ReadPrinter Lib "winspool.drv" (ByVal hPrinter As
Long, pBuf() As Byte, ByVal cdBuf As Long, _ pNoBytesRead As Long) As
Long
Private Sub cmdEnvoyer_Click()
Dim lhPrinter As Long
Dim lReturn As Long
Dim lpcWritten As Long
Dim lDoc As Long
Dim sWrittenData As String
Dim MyDocInfo As DOCINFO
If OpenPrinter(Printer.DeviceName, lhPrinter, 0) = 0 Then
MsgBox "The Printer Name you typed wasn't recognized."
Exit Sub
End If
'ici, on envoie <TEST> à l'imprimante. Ceci fonctionne très bien.
lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, Len(sWrittenData),
lpcWritten)
Dim byTab(500) As Byte
Dim lNbReadData As Long
'ici, on essai de récupérer le retour de l'imprimante. Mais là, ça ne
marche pas.
If ReadPrinter(lhPrinter, byTab, 500, lNbReadData) = 0 Then _
MsgBox "ReadPrinter fails: " & ApiErrorText(Err.LastDllError)
End Sub
--------------------------------------------------
Benoit
Salut,
Peut-on voir ton code ?
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Benoit <supportnospam@printherm.com> a écrit :
> Oui l'API ReadPrinter me retourne 0 donc, elle a échouée.
> Selon l'API GetLastDllError, se serait du à un mauvais Handle, mais
> c'est le même que celui sur lesquelles je fais toutes les opérations,
> et celui-ci fonctionne.
> ...
> bizarre
>
> benoit
>
>> Hello,
>>
>> Peux-tu préciser " il m'est impossible de lire les retours via
>> ReadPrinter." ?
>> Ca plante VB? avec une GPF? Ca retourne une valeur différente de
>> zéro? autre?
>>
>> --
>> François Picalausa (MVP VB)
>> http://faq.vb.free.fr --- http://msdn.microsoft.com
>> http://apisvb.europe.webmatrixhosting.net
>>
>> "Benoit" <supportnospam@printherm.com> a écrit dans le message de
>> news:ub4gRgRXEHA.3044@TK2MSFTNGP09.phx.gbl
>>> il m'est impossible de lire les retours via ReadPrinter.
Private Type DOCINFO pDocName As String pOutputFile As String pDatatype As String End Type
Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long Private Declare Function EndDocPrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long Private Declare Function EndPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long Private Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, _ phPrinter As Long, ByVal pDefault As Long) As Long Private Declare Function StartDocPrinter Lib "winspool.drv" Alias "StartDocPrinterA" (ByVal hPrinter As Long, _ ByVal Level As Long, pDocInfo As DOCINFO) As Long Private Declare Function StartPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long Private Declare Function WritePrinter Lib "winspool.drv" (ByVal hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, _ pcWritten As Long) As Long Private Declare Function ReadPrinter Lib "winspool.drv" (ByVal hPrinter As Long, pBuf() As Byte, ByVal cdBuf As Long, _ pNoBytesRead As Long) As Long
Private Sub cmdEnvoyer_Click()
Dim lhPrinter As Long Dim lReturn As Long Dim lpcWritten As Long Dim lDoc As Long Dim sWrittenData As String Dim MyDocInfo As DOCINFO
If OpenPrinter(Printer.DeviceName, lhPrinter, 0) = 0 Then MsgBox "The Printer Name you typed wasn't recognized." Exit Sub End If
'ici, on envoie <TEST> à l'imprimante. Ceci fonctionne très bien. lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, Len(sWrittenData), lpcWritten)
Dim byTab(500) As Byte Dim lNbReadData As Long
'ici, on essai de récupérer le retour de l'imprimante. Mais là, ça ne marche pas. If ReadPrinter(lhPrinter, byTab, 500, lNbReadData) = 0 Then _ MsgBox "ReadPrinter fails: " & ApiErrorText(Err.LastDllError)
End Sub --------------------------------------------------
Benoit
Salut,
Peut-on voir ton code ?
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
Benoit a écrit :
> Oui l'API ReadPrinter me retourne 0 donc, elle a échouée. > Selon l'API GetLastDllError, se serait du à un mauvais Handle, mais > c'est le même que celui sur lesquelles je fais toutes les opérations, > et celui-ci fonctionne. > ... > bizarre > > benoit > >> Hello, >> >> Peux-tu préciser " il m'est impossible de lire les retours via >> ReadPrinter." ? >> Ca plante VB? avec une GPF? Ca retourne une valeur différente de >> zéro? autre? >> >> -- >> François Picalausa (MVP VB) >> http://faq.vb.free.fr --- http://msdn.microsoft.com >> http://apisvb.europe.webmatrixhosting.net >> >> "Benoit" a écrit dans le message de >> news: >>> il m'est impossible de lire les retours via ReadPrinter.
Benoit
> Hello,
Question bête, l'imprimante est bien bidirectionnelle? Ton code me semble correct!
Mon imprimante oui. Le driver certainemant, mais je n'en suis pas sur à 100%. En effet, la case bidirectionelle est grisée. Sa veut dire quoi ?
Benoit
> Hello,
Question bête, l'imprimante est bien bidirectionnelle?
Ton code me semble correct!
Mon imprimante oui.
Le driver certainemant, mais je n'en suis pas sur à 100%.
En effet, la case bidirectionelle est grisée. Sa veut dire quoi ?
Question bête, l'imprimante est bien bidirectionnelle? Ton code me semble correct!
Mon imprimante oui. Le driver certainemant, mais je n'en suis pas sur à 100%. En effet, la case bidirectionelle est grisée. Sa veut dire quoi ?
Benoit
François Picalausa
Hello!
En effet, la case bidirectionelle est grisée. Sa veut dire quoi ?
Ca signifie que Windows lorsqu'il demande au driver si l'imprimante est bidi et que le driver dit non... Donc l'imprimante ne l'est pas. Vérifie que le driver installé n'est pas un driver générique quelconque mais bien le vrai et l'authentique driver de l'imprimante ;-)
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Benoit" a écrit dans le message de news:
Hello,
Question bête, l'imprimante est bien bidirectionnelle? Ton code me semble correct!
Mon imprimante oui. Le driver certainemant, mais je n'en suis pas sur à 100%.
Benoit
Hello!
En effet, la case bidirectionelle est grisée. Sa veut dire quoi ?
Ca signifie que Windows lorsqu'il demande au driver si l'imprimante est bidi
et que le driver dit non...
Donc l'imprimante ne l'est pas.
Vérifie que le driver installé n'est pas un driver générique quelconque mais
bien le vrai et l'authentique driver de l'imprimante ;-)
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Benoit" <supportnospam@printherm.com> a écrit dans le message de
news:ua6KTpnXEHA.644@tk2msftngp13.phx.gbl
Hello,
Question bête, l'imprimante est bien bidirectionnelle?
Ton code me semble correct!
Mon imprimante oui.
Le driver certainemant, mais je n'en suis pas sur à 100%.
En effet, la case bidirectionelle est grisée. Sa veut dire quoi ?
Ca signifie que Windows lorsqu'il demande au driver si l'imprimante est bidi et que le driver dit non... Donc l'imprimante ne l'est pas. Vérifie que le driver installé n'est pas un driver générique quelconque mais bien le vrai et l'authentique driver de l'imprimante ;-)
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Benoit" a écrit dans le message de news:
Hello,
Question bête, l'imprimante est bien bidirectionnelle? Ton code me semble correct!
Mon imprimante oui. Le driver certainemant, mais je n'en suis pas sur à 100%.