![]() |
Nach Printer.Abort kommt Schrott
Moin, moin,
wenn ich einen Ausdruck mit Printer.Abort abbreche, dann kommt beim nächsten (nicht abgebrochenen) Ausdruck nur Schrott raus (manchmal auch PCL-Error). Laut Hilfe soll Abort den Drucker ja zurücksetzen und eventuelle Druckdaten löschen. Der Versuch, trotz Abort noch ein Printer.EndDoc zu verwenden hat nichts gebracht, dann kommt beim EndDoc die Fehlermeldung, dass der Drucker gar nicht druckt. Auch wenn einige Unteroutinen fehlen, hier mal das Codefragment:
Delphi-Quellcode:
Jemand eine Ahnung, woher dieses Verhalten kommt?
Printer.BeginDoc;
for cnt:=1 to AnzahlZeilen do // Fortschritt ist das Fenster mit dem Abbrechen-Button if not Fortschritt.Terminated then begin // hier wird dann eine Zeile ausgegeben PrintZeile(Zeilen[cnt]); end; if not Fortschritt.Terminated then Printer.EndDoc else Printer.Abort; cu und Danke Björn |
Re: Nach Printer.Abort kommt Schrott
Moin, moin,
leider habe ich für das o.g. Problem immer noch keine Lösung. Weiss jetzt eventuell jemand Rat? cu easywk |
Re: Nach Printer.Abort kommt Schrott
Was genau ist denn "Fortschritt"? Wird die else-Klausel auch wirklich korrekt durchlaufen? Könnte ja sein, daß Printer.Abbort gar nicht erst aufgerufen wird.
|
Re: Nach Printer.Abort kommt Schrott
Du solltest statt mit Fortschritt.Terminated mit Printer.Aborted arbeiten - also direkt beim Drücken des Abbrechen-Buttons Printer.Abort aufrufen.
|
Re: Nach Printer.Abort kommt Schrott
Fortschritt ist das Fenster, auf dem der Abbrechen-Button ist. Das ist ein Standard-Form von mir, welches ich auch bei anderen Dingen benutzen um einerseite eine Fortschrittsanzeige zu realisieren und andererseites eine Abbruchmöglichkeit zu geben. Wenn man in diesem Fenster den Abbrechen-Button drückt, wird die Eigenschaft "Terminated" von Fortschritt auf TRUE gesetzt ...
|
Re: Nach Printer.Abort kommt Schrott
Zitat:
|
Re: Nach Printer.Abort kommt Schrott
Hi Björn,
leite die Druckausgabe mal in eine Datei um und schau nach, ob die Reset Sequenz am Ende reingeschrieben wurde - dann haben wir wenigstens deine Vermutung bestätigt oder widerlegt. Und nenne mal Druckermodell und Hersteller und Treiberangaben. Den aktuellen Treiber verwendest du schon? Grüße vom marabu |
Re: Nach Printer.Abort kommt Schrott
Also TPrinter.Abort ruft die API-Funktion AbortDoc auf und danach (indirekt) noch EndPage (was mich ein bisschen irritiert) und räumt noch ein wenig auf (setzt z.B. FAborted auf TRUE).
An sich sollte das aber klappen. Hast du mit anderen Programmen ähnliche Schwierigkeiten? Tritt der Fehler auch mit anderen Druckern auf? Ups: hatte Marabus Beitrag gar nicht bemerkt... |
Re: Nach Printer.Abort kommt Schrott
Hallo zusammen,
Ich verwende einen Lexmark E232 mit dem neusten Treiber. Wenn ich bei anderen Programmen einen Druck aus der Druckerqueue lösche, dann habe ich das Problem nicht. Wenn ich die Ausgabe auf eine Datei umleite, dann steht die Reset-Sequenz zum Schluss drinnen... Auch der Kyocera hier in der Firma macht keine Probleme (der ist aber auch im Netzwerk und eigentlich immer sehr "genügsam"). Scheint also echt ein Problem meines Lexmarks zu sein..... :evil: und das bedeutet wohl, dass ich damit leben muss. Erstmal vielen Dank für die Hilfe. cu easywk |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz