LLPrintEnd bleibt hängen

Hallo NG,

ich entwickle mit PowerBuilder 10.5 und LL13. Unser Rechnungsdruck funktioniert soweit ganz gut.
Den Rechnungsdruck leite ich in eine Vorschaudatei um (oder in mehrere Vorschaudateien bei wechselnden Formularen,
welche dann am Ende zu einer Gesamt-Vorschaudatei zusammengefügt werden).
Das klappt soweit auch ganz gut und ich erhalte gute und performante Druckergebnisse.

Bei einem Kunden habe ich jedoch ein Problem. Bei dessen Formular sind viele Logos im Druck enthalten. Eine Rechnung
besteht hier aus bis zu fünf Seiten, auf jeder werden Logos und RTFs im Berichtscontainer angedruckt.

Der Druck verläuft einigermaßen performant (man merkt eben die vielen Logos und RTFs) und die Vorschaudatei wird trotz allenm
wie gewünscht erstellt. Sobald jedoch mehr als 80-90 Rechnungen gedruckt werden bleibt die Verarbeitung hängen (obwohl die
Vorschaudatei schon komplett erstellt ist). Ich konnte beim Kunden einen Trace mitlaufen lassen und habe nun herausgefunden
dass die Verarbeitung bei LlPrintEnd() hängen bleibt. Je mehr Rechnungen gedruckt werden, desto länger blockiert das Programm.
Entferne ich die Logos, läuft der Druck normal.

Drucke ich das selbe Formular auf meinem Rechner, tritt dieses Problem nicht auf (da braucht der LlPrintEnd() stets ca. eine Sekunde,
unabhängig davon wieviele Rechnungen gedruckt werden).

Hat jemand eine Idee, was hier beim LlPrintEnd() genau passiert, und was für die Verzögerung ursächlich ist?

Beste Grüße,
Michael

Am 22.01.2010 09:52, schrieb Michael Kilger:

Hallo NG,

ich entwickle mit PowerBuilder 10.5 und LL13. Unser Rechnungsdruck funktioniert soweit ganz gut.
Den Rechnungsdruck leite ich in eine Vorschaudatei um (oder in mehrere Vorschaudateien bei wechselnden Formularen,
welche dann am Ende zu einer Gesamt-Vorschaudatei zusammengefügt werden).
Das klappt soweit auch ganz gut und ich erhalte gute und performante Druckergebnisse.

Bei einem Kunden habe ich jedoch ein Problem. Bei dessen Formular sind viele Logos im Druck enthalten. Eine Rechnung
besteht hier aus bis zu fünf Seiten, auf jeder werden Logos und RTFs im Berichtscontainer angedruckt.

Der Druck verläuft einigermaßen performant (man merkt eben die vielen Logos und RTFs) und die Vorschaudatei wird trotz allenm
wie gewünscht erstellt. Sobald jedoch mehr als 80-90 Rechnungen gedruckt werden bleibt die Verarbeitung hängen (obwohl die
Vorschaudatei schon komplett erstellt ist). Ich konnte beim Kunden einen Trace mitlaufen lassen und habe nun herausgefunden
dass die Verarbeitung bei LlPrintEnd() hängen bleibt. Je mehr Rechnungen gedruckt werden, desto länger blockiert das Programm.
Entferne ich die Logos, läuft der Druck normal.

Drucke ich das selbe Formular auf meinem Rechner, tritt dieses Problem nicht auf (da braucht der LlPrintEnd() stets ca. eine Sekunde,
unabhängig davon wieviele Rechnungen gedruckt werden).

Hat jemand eine Idee, was hier beim LlPrintEnd() genau passiert, und was für die Verzögerung ursächlich ist?

Beste Grüße,
Michael

Hallo Michael,

wir hatte so einen Effekt früher mal mit LL7 bei einem Kunden. Dort
wurden die Zeiten vom Starten des Druckjobs bis zu dessen Beendigung
immer größer. Es handelte sich um Etikettendrucker, die von einer großen
Rolle drucken. Letztendlich lag es an der Firmware eines Gerätes, weil
nur einer von drei Druckern dieses Verhalten zeigte.

Schöne Grüße

Lars

Hallo Lars,

daran kann es in meinem Fall leider nicht liegen, da ich die Ausgabe direkt in eine Vorschaudatei umleite.
Die Frage des verwendeten Endgerätes stellt sich zu diesem Zeitpunkt noch nicht.

Trotzdem Danke für den Hinweis.

Kann mir jemand erklären, was (intern) beim llPrintEnd() passiert?

Beste Grüße,
Michael

Am 22.01.2010 09:52, schrieb Michael Kilger:

Hallo NG,

ich entwickle mit PowerBuilder 10.5 und LL13. Unser Rechnungsdruck funktioniert soweit ganz gut.
Den Rechnungsdruck leite ich in eine Vorschaudatei um (oder in mehrere Vorschaudateien bei wechselnden Formularen,
welche dann am Ende zu einer Gesamt-Vorschaudatei zusammengefügt werden).
Das klappt soweit auch ganz gut und ich erhalte gute und performante Druckergebnisse.

Bei einem Kunden habe ich jedoch ein Problem. Bei dessen Formular sind viele Logos im Druck enthalten. Eine Rechnung
besteht hier aus bis zu fünf Seiten, auf jeder werden Logos und RTFs im Berichtscontainer angedruckt.

Der Druck verläuft einigermaßen performant (man merkt eben die vielen Logos und RTFs) und die Vorschaudatei wird trotz allenm
wie gewünscht erstellt. Sobald jedoch mehr als 80-90 Rechnungen gedruckt werden bleibt die Verarbeitung hängen (obwohl die
Vorschaudatei schon komplett erstellt ist). Ich konnte beim Kunden einen Trace mitlaufen lassen und habe nun herausgefunden
dass die Verarbeitung bei LlPrintEnd() hängen bleibt. Je mehr Rechnungen gedruckt werden, desto länger blockiert das Programm.
Entferne ich die Logos, läuft der Druck normal.

Drucke ich das selbe Formular auf meinem Rechner, tritt dieses Problem nicht auf (da braucht der LlPrintEnd() stets ca. eine Sekunde,
unabhängig davon wieviele Rechnungen gedruckt werden).

Hat jemand eine Idee, was hier beim LlPrintEnd() genau passiert, und was für die Verzögerung ursächlich ist?

Beste Grüße,
Michael

Hallo Michael,

wir hatte so einen Effekt früher mal mit LL7 bei einem Kunden. Dort
wurden die Zeiten vom Starten des Druckjobs bis zu dessen Beendigung
immer größer. Es handelte sich um Etikettendrucker, die von einer großen
Rolle drucken. Letztendlich lag es an der Firmware eines Gerätes, weil
nur einer von drei Druckern dieses Verhalten zeigte.

Schöne Grüße

Lars

Meines Wissens wird da der Druck abgeschlossen.

  • Vorschaudatei wird nachbearbeitet, wenn ein zweiter Pass notwendig
    ist wegen TotalPages$()
  • Vorschaudatei wird gespeichert und geschlossen

Meine einzige Idee ist, wenn das mal wieder so ewig dauert, WinDBG an
die Applikation zu attachen (besser vorher attachen, nicht erst,
wenn’s “dauert”) und eine DMP-Datei zu erstellen und diese an combit
zu schicken, denn nur die können wissen, was intern abläuft.

Paulchen

“Michael Kilger” <michael.kilger@is-softwar…> wrote in message
news:15016126201017849@combit.net…

Hallo Lars,

daran kann es in meinem Fall leider nicht liegen, da ich die Ausgabe
direkt in eine Vorschaudatei umleite.
Die Frage des verwendeten Endgerätes stellt sich zu diesem Zeitpunkt
noch nicht.

Trotzdem Danke für den Hinweis.

Kann mir jemand erklären, was (intern) beim llPrintEnd() passiert?

Beste Grüße,
Michael

Am 22.01.2010 09:52, schrieb Michael Kilger:

Hallo NG,

ich entwickle mit PowerBuilder 10.5 und LL13. Unser
Rechnungsdruck funktioniert soweit ganz gut.
Den Rechnungsdruck leite ich in eine Vorschaudatei um (oder in
mehrere Vorschaudateien bei wechselnden Formularen,
welche dann am Ende zu einer Gesamt-Vorschaudatei zusammengefügt
werden).
Das klappt soweit auch ganz gut und ich erhalte gute und
performante Druckergebnisse.

Bei einem Kunden habe ich jedoch ein Problem. Bei dessen Formular
sind viele Logos im Druck enthalten. Eine Rechnung
besteht hier aus bis zu fünf Seiten, auf jeder werden Logos und
RTFs im Berichtscontainer angedruckt.

Der Druck verläuft einigermaßen performant (man merkt eben die
vielen Logos und RTFs) und die Vorschaudatei wird trotz allenm
wie gewünscht erstellt. Sobald jedoch mehr als 80-90 Rechnungen
gedruckt werden bleibt die Verarbeitung hängen (obwohl die
Vorschaudatei schon komplett erstellt ist). Ich konnte beim
Kunden einen Trace mitlaufen lassen und habe nun herausgefunden
dass die Verarbeitung bei LlPrintEnd() hängen bleibt. Je mehr
Rechnungen gedruckt werden, desto länger blockiert das Programm.
Entferne ich die Logos, läuft der Druck normal.

Drucke ich das selbe Formular auf meinem Rechner, tritt dieses
Problem nicht auf (da braucht der LlPrintEnd() stets ca. eine
Sekunde,
unabhängig davon wieviele Rechnungen gedruckt werden).

Hat jemand eine Idee, was hier beim LlPrintEnd() genau passiert,
und was für die Verzögerung ursächlich ist?

Beste Grüße,
Michael

Hallo Michael,

wir hatte so einen Effekt früher mal mit LL7 bei einem Kunden. Dort
wurden die Zeiten vom Starten des Druckjobs bis zu dessen
Beendigung
immer größer. Es handelte sich um Etikettendrucker, die von einer
großen
Rolle drucken. Letztendlich lag es an der Firmware eines Gerätes,
weil
nur einer von drei Druckern dieses Verhalten zeigte.

Schöne Grüße

Lars

Das Problem habe ich bereits vor Monaten gelöst, aber leider auch vergessen die Lösung an den Thread anzuhängen…
Also, etwas verspätet: Die Ursache für das Hängenbleiben war eigentlich ganz banal. Der Symantec-Virenscanner traute der ll-Vorschaudatei nicht únd hatte “seinen Daumen drauf”. Erst nach Beendigung des Scans gab er die Datei wieder frei und der LLPrintEnd konnte abgeschlossen werden. Als Lösung haben wir dem Virenscanner eine entsprechend Regel hinterlegt. Nun lässt er die Vorschaudatei in Ruhe und alles läuft wieder in der gewohnten Geschwindikeit :slight_smile:

Beste Grüße,
Michael