AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Drucken (Printer.BeginDoc) funktioniert nicht in Vcl Styles

Drucken (Printer.BeginDoc) funktioniert nicht in Vcl Styles

Ein Thema von user69 · begonnen am 18. Mai 2021 · letzter Beitrag vom 20. Mai 2021
Antwort Antwort
user69

Registriert seit: 11. Dez 2004
58 Beiträge
 
#1

Drucken (Printer.BeginDoc) funktioniert nicht in Vcl Styles

  Alt 18. Mai 2021, 17:11
Ich brauch mal wieder dringend Eure Hilfe:

Das Drucken in VCL Styles funktioniert nicht auf den Windows10 default Druckern "Microsoft Print To PDF" oder "Microsoft XPS Document Writer".
Wenn man die Syles ausschaltet geht alles.

Nach einem Printer.BeginDoc liefert Printer.Printing in VCL Styles für diese 2 Drucker immer False zurück. (siehe angehängte Demo App - ich habe einfach mal ein Druck Beispiel von Delphi-treff reingehängt)

Kann mir da irgendjemand helfen.
Ich brauch dringend einen Workaround.
Angehängte Dateien
Dateityp: zip _PrintIssue.zip (77,1 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.635 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Drucken (Printer.BeginDoc) funktioniert nicht in Vcl Styles

  Alt 18. Mai 2021, 17:41
Funktioniert hier einwandfrei.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Commander Tom

Registriert seit: 9. Dez 2005
Ort: Ettlingen
38 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Drucken (Printer.BeginDoc) funktioniert nicht in Vcl Styles

  Alt 18. Mai 2021, 18:18
Ich habe das Demoprojekt compiliert und gestartet - druckt auf diesen beiden Druckern einwandfrei, auch mit aktiviertem Style. Ich vermute, das liegt eher an der lokalen Maschine.
Thomas Speck
  Mit Zitat antworten Zitat
user69

Registriert seit: 11. Dez 2004
58 Beiträge
 
#4

AW: Drucken (Printer.BeginDoc) funktioniert nicht in Vcl Styles

  Alt 19. Mai 2021, 08:17
Ihr habt recht mit dem Demo Programm. Da ist es wirklich (noch) nicht nachstellbar.
Ich denk der Rechner ists nicht - ich kann es auch auf nem ganz anders eingerichteten Laptop reproduzieren.

In meiner App liegt es wirklich klar an TStyleManager.TrySetStyle('Carbon') davor geht BeginDoc (und ruft den Dialog zum File Speichern auf). Danach geht es nicht mehr. Es ruft einfach den File Save Dialog nicht auf. Ich kann das Problem auch für andere Drucker erzeugen, wenn ich als Port ein Save to File nutze.

Leider liegt es aber wohl an irgendeiner interaction (es braucht also mehr als nur den aktivierten Style). Und das Problem tritt auch auf, wenn ich es gleich als erstes in der FormCreate prüfe (positiv und negativ getestet).
Ich versuch da noch tiefer zu graben.

Geändert von user69 (19. Mai 2021 um 08:23 Uhr)
  Mit Zitat antworten Zitat
user69

Registriert seit: 11. Dez 2004
58 Beiträge
 
#5

AW: Drucken (Printer.BeginDoc) funktioniert nicht in Vcl Styles

  Alt 19. Mai 2021, 17:57
Ich habs nicht geschafft das Problem in der Demo zu reproduzieren aber eine Lösung gefunden:

In der Form.Create
TStyleManager.SystemHooks:= TStyleManager.SystemHooks - [shDialogs, shToolTips];

shToolTips war der Key zum Erfolg (warum auch immer).
Nun geht das Drucken in ein PDF wieder.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.176 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Drucken (Printer.BeginDoc) funktioniert nicht in Vcl Styles

  Alt 19. Mai 2021, 23:43
Irgendwie scheinen die Styles evtl. zur Verminderung der Stabilität der VCL-Programme beizutragen.

Hatte schon selber das "shDialogs" entfernen müssen, um den Error 216 beim Beenden des Programms weg zu bekommen, wenn man Öffnen oder Speichern-Dialoge verwendet hat.

Auch hat sich heute ein Kunde gemeldet, bei dem ein Dialog beim Schließen das Programm zum Absturz bringen kann, aber nur bei geladenen Styles.

Ich werde jetzt auch zusätzlich das shToolTips rausnehmen und den Kunden bitten noch mal zu testen (ich konnte es hier selber leider nicht reproduzieren).
  Mit Zitat antworten Zitat
user69

Registriert seit: 11. Dez 2004
58 Beiträge
 
#7

AW: Drucken (Printer.BeginDoc) funktioniert nicht in Vcl Styles

  Alt 20. Mai 2021, 13:01
Dabei evtl mal hier schauen … Da gehts genau um sowas.

https://quality.embarcadero.com/browse/RSP-33848

Und ja, bei den Styles gibts noch einiges Potential nach oben. Aber grundlegend sind sie seit HighDPI support schon recht gut nutzbar (ich hab aber trotzdem ein paar Anpassungen im code gemacht).
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 22:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf