AGB  ·  Datenschutz  ·  Impressum  







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

D2009 und PrinterSetupDialog

Ein Thema von KEK · begonnen am 14. Aug 2009 · letzter Beitrag vom 24. Aug 2009
Antwort Antwort
Seite 1 von 3  1 23      
KEK

Registriert seit: 16. Mai 2009
19 Beiträge
 
#1

D2009 und PrinterSetupDialog

  Alt 14. Aug 2009, 19:16
Hallo Ihr da draußen ...
ich hab ein kleine Problemchen mit Delphi 2009 was über meinen Wissenshorizont geht.
Aufgefallen ist mir folgendes:

PrinterSetupDialog bringt stehts nur die Vorgabe für den Standarddrucker
PrinterIndex:= x und anschließendes auslesen von Printer.Handle bringt auch das richtige Handle
In D7 funktioniert (PrinterSetupDialog) ohne Probleme > also richtiger Drucker und dazugehörigen Einstellungen werden beim Aufruf
angezeigt.

Auch das wiederherstellen von Druckereinstellungen aus einer Datei will nich
a la .. Printer.SetPrinter(SetupPrinter.ADevice, SetupPrinter.ADriver, #0, ADeviceMode);

Obwohl ich mir hier eben nicht sicher bin, ob vor dem schreiben der Daten in die Datei denn die richtigen Druckerwerte ausgelesen werden (siehe Verhalten von PrinterSetupDialog).

Kann einer helfen ?

Danke + Gruß Kurti
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#2

Re: D2009 und PrinterSetupDialog

  Alt 19. Aug 2009, 01:46
Sorry dass ich Dir durch die etwaige Benachrichtigungsmail falsche Hoffnungen mache

Ich sitze gerade vor dem selben Problem. Das Setzen des Printers habe ich in einer anderen Unit, aber afaik gilt das Setzen über PrinterIndex ja jeweils für die ganze Applikation
Ich bin mir übrigens ziemlich sicher, dass das Setzen selbst (bei Deinem Abspeichern weiß ichs nicht..) funktioniert. Wenn ich nämlich über mein Formular einen Drucker wähle (nicht-Standard), den PrinterSetupDialog aufrufe, sehe dass der Standard-Drucker gewählt ist, abbreche und mir nach dem Schließen über die Printers-Unit nochmal sagen lasse, welcher Drucker gerade gewählt ist, dann ist es immernoch der, den ich vorher eingestellt hab. Hui, viele Kommas. Sorry.

Es scheint mir, als gäbs einen irgendwie gearteten Fehler beim PrinterSetupDialog der eben bewirkt, dass dieser Dialog nicht weiß welcher Drucker vorher über das Programm gewählt wurde. Aber ehrlich gesagt blicke ich nicht so ganz durch, wo der Fehler sein könnte. Ich unterstelle mal, es ist irgendwo in "GetPrinter", dass dort nicht das richtige Handle zurückgegeben wird - oder so.

Wenn ich im PrinterSetupDialog auf OK gehe, wechselt übrigens auch die Anzeige des gewählten Druckers entsprechend zu dem, der im Dialog stand.
Zu guter letzt: Wenn ich von meinem Programm aus einen Drucker wähle und eine Testseite ausgebe, kommt die auch dort an, wo ich es mir gewünscht habe.

Kann doch irgendwie nicht sein, dass man dem User sagen muss "Nicht erschrecken, der Dialog öffnet mit dem Standarddrucker, egal was Du mir grad gesagt hast". Ich werde mal gucken, ob es so einen Dialog vielleicht von Drittanbietern gibt.

Sonst noch Vorschläge? ^^

Viele Grüße,

Stefan
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
KEK

Registriert seit: 16. Mai 2009
19 Beiträge
 
#3

Re: D2009 und PrinterSetupDialog

  Alt 19. Aug 2009, 07:13
Hallo
... bin aber fast beruhigt, dass ich nich der Einzige bin.
Hab leider noch nich weiter forschen können.
Wenn du was weißt > sag mir's bitte ja ? Sollte ich was 'hinbekommen' geb ich's natürlich auch weiter.

Gruß Kurti
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#4

Re: D2009 und PrinterSetupDialog

  Alt 19. Aug 2009, 12:24
Interessant wäre vielleicht, wenn es denn wirklich ein Fehler auf seiten der Dialogimplementierung der 2009er Version ist, zu sehen wie der Execute- oder GetPrinter-Code einer Version aussieht, wo dieses Problem nicht auftritt.
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
KEK

Registriert seit: 16. Mai 2009
19 Beiträge
 
#5

Re: D2009 und PrinterSetupDialog

  Alt 20. Aug 2009, 14:00
Zitat von S - tefano:
Interessant wäre vielleicht, wenn es denn wirklich ein Fehler auf seiten der Dialogimplementierung der 2009er Version ist, zu sehen wie der Execute- oder GetPrinter-Code einer Version aussieht, wo dieses Problem nicht auftritt.
Also zB die Unit Printer und Dialogs zwischen D7 und D2009 vergleichen ?
Das hatte ich schon - da reicht aber mein Tiefenwissen nicht aus um Schlüsse zu ziehen
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#6

Re: D2009 und PrinterSetupDialog

  Alt 20. Aug 2009, 23:06
Genau, so mein ich das. Ich hab keine Ahnung ob ich da was erkennen würde, aber wenn bei beiden Methoden der Code im Prinzip gleich ist, könnte man das schonmal als Fehlerquelle ausschließen.
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
KEK

Registriert seit: 16. Mai 2009
19 Beiträge
 
#7

Re: D2009 und PrinterSetupDialog

  Alt 21. Aug 2009, 07:16
Zitat von S - tefano:
Genau, so mein ich das. Ich hab keine Ahnung ob ich da was erkennen würde, aber wenn bei beiden Methoden der Code im Prinzip gleich ist, könnte man das schonmal als Fehlerquelle ausschließen.
kann ich dir gerne senden - Unterschiede gibt es schon .. so wird zB in in D12 vor Aufruf des Dialogs der DevMode zurückgesetzt,
was in D7 nich getan wird.
Angehängte Dateien
Dateityp: pas printersd12_189.pas (40,1 KB, 15x aufgerufen)
Dateityp: pas printersd7_299.pas (24,4 KB, 9x aufgerufen)
Dateityp: pas dialogsd12_154.pas (200,7 KB, 10x aufgerufen)
Dateityp: pas dialogsd7_115.pas (70,3 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#8

Re: D2009 und PrinterSetupDialog

  Alt 21. Aug 2009, 11:50
Das mit dem DevMode zurücksetzen habe ich jetzt garnicht gefunden...das einzige wo mir nennenswerte Unterschiede aufgefallen sind, ist in Dialogs die jeweilige Prozedur GetPrinter. Da werden die Offsets in D7 noch zu Longint gecastet, in D12 gehts über PChar.
Ich kann mir aber nicht so richtig vorstellen, dass es daran wirklich liegt :/
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: D2009 und PrinterSetupDialog

  Alt 21. Aug 2009, 12:01
Hilft das QC-Eintrag?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#10

Re: D2009 und PrinterSetupDialog

  Alt 21. Aug 2009, 12:36
Interessant: Ich hab zwar auch D2009, aber in meiner GetPrinter findet sich ein Mix aus der D7er und D12-Version. Desweiteren gut, dass die das Problem überhaupt kennen.
Nur leider: Der Dialog verhält sich nach der Änderung genauso wie vorher. Es wird immer der Standarddrucker angezeigt, selbst wenn man in nem vorherigen PrinterSetupDialog noch einen anderen ausgewählt hat.

Ich kann übrigens in der Dialogs.pas keinen richtigen Breakpoint setzen...weiß jemand wieso?
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 04:56 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