Thema: Delphi Mit PChar arbeiten

Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#14

Re: Mit PChar arbeiten

  Alt 23. Jun 2004, 16:26
Ich danke dir.
Hier ist so ein Beispiel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  p : pchar;
  dwLen : dword;
begin
  // folgender Witz: Wenn der Puffer zu klein ist, dann
  // liefert "GetWindowsDirectory" die erforderliche
  // Größe zurück, DAS #0-ZEICHEN EINGESCHLOSSEN ...
  dwLen := GetWindowsDirectory(nil,0);
  if(dwLen > 0) then
  begin
    GetMem(p,dwLen);
    try
      ZeroMemory(p,dwLen);

      // ... da der Puffer nun groß genug ist, liefert
      // die Funktion die Anzahl der kopierten Zeichen
      // zurück, die abschließende #0 diesmal NICHT
      // eingeschlossen (deswegen "dwLen - 1")
      if(GetWindowsDirectory(p,dwLen) = dwLen - 1) and
        (p[0] <> #0) then
      MessageBox(0,p,nil,0);
    finally
      FreeMem(p);
    end;
  end;
end;
Wenn du da mal das Erstellen des Speichers weglässt, dann kracht´s ...
  Mit Zitat antworten Zitat