Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

printer

7 réponses
Avatar
jc2nantes
Bonjour,

J'utilise une imprimante ticket thermique (sur port USB) pour éditer des
reçus qui comporte un logo et des infos diverses.

J'utilise l'objet printer et mon imprimante et programmée pour couper le
papier en fin de doc

Aucun problème lorsque je sors les tickets un par un...

Mais là j'ai besoin de sortir plusieurs tickets à suivre et ça bloque de
temps en temps... ça sort 1 ticket, 2, puis au 3éme ou au 4ème l'imprimante
se bloque et j'ai une erreur d'impression... pour passer d'une page à
l'autre, j'utilise printer.newpage, en fin de séquence printer.enddoc

Est-ce un pb d'USB ? de memoire d'imprimante saturée ? je cale !!!

Je cale...

JC

7 réponses

Avatar
Gloops
jc2nantes a écrit, le 10/05/2007 15:49 :
Mais là j'ai besoin de sortir plusieurs tickets à suivre et ça bl oque de
temps en temps... ça sort 1 ticket, 2, puis au 3éme ou au 4ème l' imprimante
se bloque et j'ai une erreur d'impression...



Salut,

Quelle est la position du constructeur là-dessus ?

Tu peux toujours essayer avec une temporisation entre deux tickets, pour
voir si ça donne à l'imprimante le temps de s'en remettre.

Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As
Long)

Sleep 1000 ' pour temporiser une seconde
Avatar
Gloops
Dis JC, tu nous diras ce que ça donne ?
Avatar
jc2nantes
hello !

il semble que ce soit le logo imprimé sur mes tickets qui fout le bronx !!!
pb de mémoire saturée.

le constructeur m'invite à uploader le logo dans l'imprimante...ce qui
permettra l'impression du logo via les séquences ESC...

très bien sauf que c'est un modèle USB et que ce genre de communication
directe ne fonctionne qu'avec les modèles rs232 !!!

alors faut changer le firmware mais pareil... pas possible en USB

alors c'est la m.....

voila ! à suivre !


"Gloops" a écrit dans le message de news:
%
Dis JC, tu nous diras ce que ça donne ?
Avatar
jc2nantes
sleep ?!

je fais mes pauses avec ça :


Sub PAUSE(interval)

Dim current

current = Timer
Do While Timer - current < Val(interval) / 100
DoEvents
Loop

End Sub


puis

pause 100

c'est pareil ou pas ?!


"Gloops" a écrit dans le message de news:
usa7oW$
jc2nantes a écrit, le 10/05/2007 15:49 :
Mais là j'ai besoin de sortir plusieurs tickets à suivre et ça bloque de
temps en temps... ça sort 1 ticket, 2, puis au 3éme ou au 4ème
l'imprimante se bloque et j'ai une erreur d'impression...



Salut,

Quelle est la position du constructeur là-dessus ?

Tu peux toujours essayer avec une temporisation entre deux tickets, pour
voir si ça donne à l'imprimante le temps de s'en remettre.

Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As
Long)

Sleep 1000 ' pour temporiser une seconde
Avatar
Gloops
jc2nantes a écrit, le 14/05/2007 17:54 :
sleep ?!



Ben oui, c'est une API.
C'est pour ça que je t'ai mis la déclaration, car si tu ne la copies pas
dans un module l'instruction ne sera pas reconnue. Si tu la copies en
Private bien entendu il faut la copier dans le module où tu utiliseras
l'instruction, alors qu'en Public tu peux mettre la déclaration dans un
autre module (mais attention, pas dans le module d'un formulaire, où
elle doit impérativement être Private).


je fais mes pauses avec ça :


Sub PAUSE(interval)

Dim current

current = Time
Do While Timer - current < Val(interval) / 100
DoEvents
Loop

End Sub


puis

pause 100

c'est pareil ou pas ?!



ça doit marcher aussi.

J'imagine que c'est un peu une question d'habitude, l'API étant quelque
chose de standard on ne risque pas pendant un débugage de passer du
temps à lire son code, alors que dans une procédure si il y a une
erreur, comme une faute de frappe, ça peut induire un problème qui ne se
détectera pas à la première lecture. Enfin ça ne fait pas une dif férence
qui explique que ton imprimante se bloque, car j'imagine que tu as testé
ta pause. As-tu essayé avec PAUSE 20000 ?

J'ai quand même un peu de mal à me représenter que si ton imprimant e est
capable d'imprimer un ticket, puis un autre, et encore un autre, elle ne
puisse pas en imprimer trois à la suite en les envoyant à la bonne ca dence.

Tu as ouvert un fichier sur l'imprimante ?

ça donne quoi si tu fermes le fichier ouvert sur l'imprimante et que tu
le rouvres, plutôt que de simplement attendre en laissant le fichier
ouvert ?

Normalement, l'imprimante n'est pas sensée savoir que ton programme
n'est pas terminé.

Pour répondre à bon escient il faut bien comprendre ce qui se passe, et
j'avoue que là j'ai du mal à me représenter ce qui fait la différ ence
entre trois tickets d'un coup avec temporisation entre deux, et trois
fois un seul ticket, et qui fait que dans un cas ça marche et pas dans
l'autre.

Ou alors comme je disais peut-être que l'intervalle de temps est trop
court, mais je crois qu'il faut surtout bien s'assurer d'avoir bien posé
le problème.
Avatar
jc2nantes
Hi Gloops,

Merci pour tes messages !

J'ai tout testé... plusieurs tickets à suivre avec coupe à chacun, un long
tickets (geré comme un doc de plusieurs pages) et bien rien nada nib !!!

Il semble que le problème vienne de l'imprimante (these retenue par le
revendeur !) je dois faire un essai avec un nouveau firmware. visiblement la
version que j'ai sur cette petite machine aurait un bug au niveau de la
gestion mémoire...

J'ai fait un test en implantant mon appli sur une autre machine avec une
autre reference plus recente d'imprimante et ça marche sans problème...

ça m'enerve des fois... grrrrrrrrrrrrrr !

pour info, il s'agit d'imprimante ticket thermique SWECOIN modèle 7030 et
2030, tu connais ?

à++++
Avatar
Gloops
jc2nantes a écrit, le 18/05/2007 12:16 :
pour info, il s'agit d'imprimante ticket thermique SWECOIN modèle 70 30 et
2030, tu connais ?



Salut,

Non, pas spécialement.
Si tu as trouvé une solution j'imagine que tu ne vas pas creuser plus.
Alors donc on ne saura pas ce qui était trop long au juste : la mise
sous tension, l'ouverture du fichier, ...
Enfin bon, du moment que le client a ce qui lui chante ...