Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.106 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Funktion die TStrings zurückgibt

  Alt 6. Jun 2010, 17:58
Moin Rolf,

die Umsetzung von Detlefs Idee würde, z.B., so aussehen:

Delphi-Quellcode:
procedure TPrinterCustom.GetPaperTrays(const APaperTrays : TStrings);
var
  pDevMode : PDeviceMode;
  bin : array[0..255,0..23] of Char;
  i : DWORD;
  Res : DWORD;
  PPrinter : PPrinterInfo2;
begin
  APaperTrays.Clear;
  if FAllInfos.Count <> 0 then
  begin
    PPrinter := FAllInfos.Items[FPrinterIndex];
    pDevMode := nil;
    Res := DeviceCapabilities(PPrinter^.pPrinterName,
                              PPrinter^.pPortName,
                              DC_BINNAMES,
                              PChar(@(bin[0][0])),
                              pDevMode);
    for i := 0 to Res-1 do
      APaperTrays.Append(bin[i]);
  end;
end;
Vorteil:
Man erhält eine klarere Struktur für das Erzeugen und Freigeben der Stringliste.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat