![]() |
Delphi-Version: 10 Seattle
Printer.Title fehlerhaft?
Hallöle...:P
Heute ist mir etwas Merkwürdiges aufgefallen. :roll:
Delphi-Quellcode:
Nach dem Programmstart beim ersten Drucken wird zwar der Title zugewiesen, aber sowohl im PDF Creator als auch in der Druckwarteschlange nicht angezeigt. Wenn ich nun gleich danach etwas anderes drucke (Title geändert) erscheint der vorhergehende Title im PDF Creator bzw. Warteschlange. :gruebel:
procedure TMyPrinter.PrintIt;
begin Printer.Title := Title; Printer.BeginDoc; try . . finally Printer.EndDoc; end; end; Hat jemand eine Info dazu? (Windows 10) Danke :P |
AW: Printer.Title fehlerhaft?
Schau mal in TPrinter.BeginDoc (irgendwas.Printers.pas) rein.
Dort wird der Wert des Property Title genommen und direkt an ![]() Wenn das immernoch so ist, dann kann das eigentlich nicht die Schuld vom Delphi sein, denn was kann Emba da schon falsch machen? :roll: [add] Allerdings vernachlässigt BorCodEro fahrlässig sämtliche Fehlerbehandlung, wie z.B. die Auswertung des Results von StartDoc. :warn: (zumindestens in XE) |
AW: Printer.Title fehlerhaft?
Mit einem Application.Processmessages direkt nach dem setzen des Printer.Title und vor dem BeginDoc sollte das funktionieren...
|
AW: Printer.Title fehlerhaft?
Zitat:
Zitat:
|
AW: Printer.Title fehlerhaft?
Moin...:P
...hochhol wegen fehlender Lösung. :cry: |
AW: Printer.Title fehlerhaft?
Mit Seattle getestet und es funktioniert (W8.1 x64, W10 x64) mit dem Code wie gewünscht.
Ich verwende aber auch den - in meinen Augen korrekten - Code
Delphi-Quellcode:
@TomF
Printer.Title := 'Some Title';
Printer.BeginDoc; try ... Printer.EndDoc; except Printer.Abort; raise; end; Ich sehe nicht wie ein
Delphi-Quellcode:
hier helfen könnte.
Application.ProcessMessages
|
AW: Printer.Title fehlerhaft?
Hi Sir Rufo,
klar, dein Code ist richtig und so verwende ich ihn auch. Ich hatte aber doch das beschriebene Problem, dass der Printer.Title nicht zuverlässig oder erst beim nächsten DruckJob angezeigt wurde. Dann fand ich irgendwo(?) den Hinweis, dass eben dieses
Code:
Abhilfe schaffen kann.
Application.ProcessMessages
Ich füge seither diese Zeile dort immer ein und es funktioniert zuverlässig. Ob und warum das helfen sollte, habe ich eigentlich nie hinterfragt. Schade - mein erster Eintrag hier war also eine Niete... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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 by Thomas Breitkreuz