AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Nach Printer.Abort kommt Schrott

Ein Thema von easywk · begonnen am 23. Sep 2005 · letzter Beitrag vom 27. Sep 2005
Antwort Antwort
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#1

Nach Printer.Abort kommt Schrott

  Alt 23. Sep 2005, 16:33
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:
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;
Jemand eine Ahnung, woher dieses Verhalten kommt?

cu und Danke
Björn
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Nach Printer.Abort kommt Schrott

  Alt 27. Sep 2005, 11:44
Moin, moin,

leider habe ich für das o.g. Problem immer noch keine Lösung. Weiss jetzt eventuell jemand Rat?

cu
easywk
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Nach Printer.Abort kommt Schrott

  Alt 27. Sep 2005, 11:59
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.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Nach Printer.Abort kommt Schrott

  Alt 27. Sep 2005, 12:22
Du solltest statt mit Fortschritt.Terminated mit Printer.Aborted arbeiten - also direkt beim Drücken des Abbrechen-Buttons Printer.Abort aufrufen.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Nach Printer.Abort kommt Schrott

  Alt 27. Sep 2005, 12:37
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 ...
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Nach Printer.Abort kommt Schrott

  Alt 27. Sep 2005, 12:38
Zitat von Flocke:
Du solltest statt mit Fortschritt.Terminated mit Printer.Aborted arbeiten - also direkt beim Drücken des Abbrechen-Buttons Printer.Abort aufrufen.
Der Effekt ist quasi der Gleiche. Habe es mal so ausprobiert, wie du gesagt hast - Problem bleibt bestehen. Ich habe einfach das Gefühl, dass der Abort den Drucker nicht wieder sauber zurücksetzt.
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Nach Printer.Abort kommt Schrott

  Alt 27. Sep 2005, 13:02
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
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: Nach Printer.Abort kommt Schrott

  Alt 27. Sep 2005, 13:08
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...
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
easywk

Registriert seit: 9. Jul 2003
Ort: Schwanewede
117 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Nach Printer.Abort kommt Schrott

  Alt 27. Sep 2005, 13:35
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..... und das bedeutet wohl, dass ich damit leben muss.

Erstmal vielen Dank für die Hilfe.

cu
easywk
Björn
if all else fails - read the instructions
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz