Hallo,
für den Ausdruck aus meinem Programm möchte ich die verschiedenen Druckschächte eines Druckers speziell ansprechen. Meine Internetrecherche brachte mich zu folgendem Code. Leider verstehe ich ihn nicht. Aus diesem Grund finde ich auch nicht den Grund für meinen Fehler. Der Drucker druckt zwar allerdings weiterhin Automatische Quellenauswahl.
Für Hilfe wäre ich sehr dankbar.
Code:
{-----------------------------------------------------------------------------}
procedure Druckerwählen;
var
ini : TIniFile;
Device : array[0..255] of char;
Driver : array[0..255] of char;
Port : array[0..255] of char;
DeviceMode : THandle;
DevMode : PDEVMODE;
begin
ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+
'test.ini'); //Öffnen der ini
Printer.PrinterIndex := ini.ReadInteger('DruckRech','Drucker',0);
Ini.Free;
Printer.GetPrinter(Device, Driver, Port, DeviceMode);
DevMode := GlobalLock(DeviceMode);
try
DevMode^.dmDefaultSource := 4; //Druckerschacht
Printer.SetPrinter(Device, Driver, Port, DeviceMode);
finally
GlobalUnlock(DeviceMode);
end;
end;
{-----------------------------------------------------------------------------}