AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit Printer.Getprinter

Ein Thema von knulli · begonnen am 4. Aug 2010 · letzter Beitrag vom 6. Aug 2010
Antwort Antwort
knulli

Registriert seit: 18. Sep 2006
6 Beiträge
 
#1

Probleme mit Printer.Getprinter

  Alt 4. Aug 2010, 21:46
Hallo zusammen.

habe ein Problem mit der Funktion Printer.Getprinter - es geht darum, die DEVMODE Structure eines Druckers auslesen. Der Code hierzu ist:
Delphi-Quellcode:
Procedure ReadPrinterMode;
type
    TPrinter_Mode = record
                        Pdm : Devmode;
                        Extra : array[1..20000] of byte;
                      end;

 var
      tmpPrinterMode : TPrinterMode;
      hDevMode : THandle;
      PDevMode : PDeviceMode;
      i : integer;
      Device, Driver, Port: array[0..1023] of char;
  begin
     Result:=false;
      Printer.GetPrinter(Device,Driver,Port,hDevMode);
      if hDevMode<>0 then
       begin
          PDevMode:=GlobalLock(hDevMode);
          if pDevMode<>nil then
            begin
               move(pDevMode^,tmpPrinterMode,pDevMode^.dmSize+pDevMode^.dmDriverExtra);
               GlobalUnlock(hDevMode);
               Result:=true;
             end;
       end;
Soweit funktioniert das ganze - wird jetzt aber der Drucker mit Printer.PrinterIndex gewechselt, wird bei erneutem Aufruf der Funktion die Devmode Struktur nicht aktualisiert. Hier ist weiterhin der Standarddrucker enthalten. Device hingegen enthält den korrketen Drucker.

Hat jemand eine Idee? Oder vielleicht eine alternative Idee, um die Daten auszulesen?

Ich hoffe, ich habe die richtige Kategorie erwischt.

Geändert von SirThornberry ( 6. Aug 2010 um 09:37 Uhr) Grund: Delphi-Tags gesetzt - nächstes mal bitte selbst machen
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: bei Walsrode
165 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Probleme mit Printer.Getprinter

  Alt 5. Aug 2010, 12:02
Moinsen,

ggf. könnte dies die Ursache dafür sein. Sind nur kleine Änderungen und das Einbinden der gepatchten printers.pas in Deine Anwendung statt der Originalen dafür notwendig. Einfach mal ausprobieren
Carsten
  Mit Zitat antworten Zitat
knulli

Registriert seit: 18. Sep 2006
6 Beiträge
 
#3

AW: Probleme mit Printer.Getprinter

  Alt 5. Aug 2010, 14:29
Hallo DelphiBandit,

danke für die Info - werde ich gleich mal testen.

Dies könnte erklären, warum der devmode korrekt ist, wenn zwischen den Abfragen der TPrintDialog ausgeführt wird.

Melde mich nochmal.
  Mit Zitat antworten Zitat
knulli

Registriert seit: 18. Sep 2006
6 Beiträge
 
#4

AW: Probleme mit Printer.Getprinter

  Alt 6. Aug 2010, 09:36
Hallo DelphiBandit,

das wars !! Da sucht man tagelang im eigenen Mist und dann sowas .

Naja, dafür läuft es jetzt.

Auf jeden Fall vielen Dank für Deine Unterstützung .
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: bei Walsrode
165 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Probleme mit Printer.Getprinter

  Alt 6. Aug 2010, 09:49
Gerne doch - waren bei mir bei D5 seinerzeit auch tagelang

Ich glaube auf dieses Problem fallen viele herein, die direkt über TPrinter mit den Druckern reden wollen
Vielleicht sollte man es mal in die FAQ mit aufnehmen Die Frage ist nur, welche Stichworte man dort reinpacken will, damit es auch gefunden wird.
Carsten
  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 23:14 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