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.
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