Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.287 Beiträge
 
Delphi 12 Athens
 
#3

Re: Exception beim Ermitteln des TEMP-Ordners unter Delphi 2

  Alt 15. Apr 2010, 15:08
Auch wenn es nicht optimal ist, wenn man eine WinAPI aufruft und ihren Rückgabewert ungeprüft verwenden will...
Delphi-Quellcode:
function Test1: string;
var
  Buffer: array[0..MAX_PATH] of Char;
begin
  GetTempPath(Length(Buffer), Buffer);
  Result := Buffer;
end;
SizeOf = Bytes
aber der Parameter will Chars (Zeichenanzahl)
> siehe MSDN-Library durchsuchenGetTempPath

GetTempPath füllt den Puffer mit Nullen und schreibt einen String an den Anfang

D2010 = Unicode (2 Byte pro Char) und schwups hast du einen Pufferüberlauf, da du behauptest der Puffer wäre größer, als er ist.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat