Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi GMPrinter und Druckerschacht auswahl (https://www.delphipraxis.net/47893-gmprinter-und-druckerschacht-auswahl.html)

Sven Janssen 17. Jun 2005 14:21


GMPrinter und Druckerschacht auswahl
 
Hallo,

ich weiß nicht ob ich nun falsch liege, aber die GMPrinter Komponente hat wohl einen Bug beim drucken auf einen anderen Schacht als den Standardschacht.

Ich frage mit folgender Funktion den aktuellen Schacht vom aktuellen Drucker ab:
Delphi-Quellcode:
function Tdvorschau.leseAktuellenSchacht: integer;
var handle: THandle;
    dev,drv,p: array [0..255] of Char;
    DevMode: PDevMode;
begin
    //Standarddrucker abfragen
    Printer.GetPrinter(dev,drv,p,handle);
    result := -1;
    if handle <> 0 then begin
        DevMode:= GlobalLock (handle);
        result:= DevMode^.DMDEFAULTSOURCE;
        GlobalUnlock (handle);
    end;
end;
Dies gibt mir den Schacht Index zurück den ich zuvor über den Print Dialog ausgewählt hab.
Nun übergebe ich diesen Index an GMPrinter mittels.
Delphi-Quellcode:
gmPreview.GmPrinter.PrinterBinIndex:=leseAktuellenSchacht;
Sobald ich danach wieder leseAktuellenSchacht Aufrufe steht dies wieder auf dem Standardschacht. d.h ich kann mittels GMPrinter nur auf den Standardschacht drucken.
Und er verbiegt intern den Bin Index wieder auf den Defaultwert :-/

Ich setzen die Version 2.63 ein, von der ich keinen Quellcode habe. Ich habe gelesen das die Komponente nun OpenSource ist. Aber ich finde im Internet nur tote Links die auf die alte Webseite zeigen. Hat jemand die neueste Komponente+Quellcode.
Wäre darüber sehr dankbar.

Gruß
Sven


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:19 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