Druck auf Brother MFC-L5700DN series Drucker klappt morgends erst beim zweiten Mal

Hallo,

wir haben einen Kunden mit einem Brother MFC-L5700DN series Drucker. Der Drucker ist an einem Rechner über USB angeschlossen und in Windows freigegeben.
Ein anderer Rechner verwendet diesen Drucker und soll jeden Morgen über den Scheduler (Aufgabenplanung) etwas drucken.
List & Label (Version 22) meldet jeden Morgen einen Fehler -12 (LL_ERR_PRINTING). Wenn wir dann anschließend erneut versuchen zu drucken, dann funktioniert es ohne Probleme.

Wir denken, dass es am Energiesparmodus des Druckers liegt. Der Drucker hat auch einen “Ausschaltmodus” welcher auf eine Stunde eingestellt war. Wir haben diesen deaktiviert, aber das Problem besteht weiterhin.

Ich habe temporär vor dem Drucken mit List&Label ein OpenPrinter() eingebaut, um den Druckerstatus abzufragen. Dieses OpenPrinter() schlägt leider auch fehl und gibt FALSE zurück.

Wenn wir den Scheduler (Aufgabenplanung) Eintrag duplizieren, einmal für 8:59 Uhr und einmal für 9:00Uhr, dann schlägt der für 8:59 Uhr fehl, aber der für 9:00Uhr funktioniert.
Unsere Annahme ist, dass der Drucker in einem Energiespar- oder Ausschaltmodus ist, ein erster Druckversuch fehlschlägt aber den Drucker aufweckt. Der zweite Druckversuch klappt dann.

Unsere Idee ist jetzt mit OpenPrinter() vor dem Druck zu prüfen, ob der Drucker verfügbar ist, und wenn nicht, dann eine Minute zu warten bevor wir mit List&Label drucken.

Bevor wir das implementieren, wollte ich aber mal mit Combit checken, ob List&Label selbst vielleicht schon so eine Option hat, um bei Fehler -12 kurz zu warten und den Druck erneut zu probieren.

Viele Grüße
Dirk Busse

Hallo Herr Busse,

List & Label-seitig besteht keine Möglichkeit auf den Fehler -12 entsprechend zu reagieren und den Druck erneut zu starten. Der Grund hierfür ist, dass der Felder -12 ein recht allgemeiner Fehler ist und die verschiedensten Ursachen haben kann, vgl. Allgemeine Fehlercodes

Beste Grüße vom Bodensee

Sehr geehrter Herr Rauchfuß,

vielen Dank für Ihre Antwort.
Ich dokumentiere hier nochmal das Problem und die Lösung, falls jemand anderes das gleiche Problem hat.

Das Problem ist, dass ein morgendlicher automatischen Ausdruck (ohne Benutzerinteraktion) mit List&Label mit Fehlercode -12 fehlschlägt.
Ein zweiter Druckversuch (ebenfalls automatisch und ohne Benutzerinteraktion) eine Minute später ist erfolgreich.
Wenn man vor dem ersten Druckversuch OpenPrinter() aufruft (welches false zurückgibt) und dann eine Minute wartet bevor man mit List&Label druckt, dann funktioniert der Druck auch ohne Probleme.

Unsere Annahme ist, dass der Brother MFC-L5700DN Drucker in einen Einergiespar- oder Ausschaltmodus geht und ein erster Druckversuch zwar fehlschlägt, den Drucker jedoch aufweckt.

Das Problem tritt nur beim automatischen Ausdruck (ohne Benutzerinteraktion) auf.
Wir nehmen an, dass beim manuellen Ausdruck (mit Benutzerinteraktion = Druckerauswahldialog) der Druckerauswahldialog den Drucker aufweckt. Genauso weckt scheinbar der erste Druckversuch (welcher Fehler -12 zurückgibt) den Drucker auf. Ebenso weckt ein OpenPrinter() (welches false zurückgibt) den Drucker auf. GetLastError() ist “Der Vorgang wurde erfolgreich beendet.”. Ein darauffolgender Druck funktioniert dann.

Wir haben bei uns im Code jetzt implementiert, dass wir (bei diesem automatischen Druck) vorher OpenPrinter() aufrufen. Wenn dieses false zurückgibt, dann warten wir 15 Sekunden und probieren es bis zu vier Mal. Das zweite OpenPrinter() nach 15 Sekunden gibt bereits true zurück. Danach drucken wir ganz normal mit List&Label.
Das funktioniert jetzt :slight_smile:
Der Kunde ist glücklich, weil er jetzt morgens seinen täglichen Ausdruck im Drucker vorfindet.

Viele Grüße
Dirk Busse

3 Likes