Unicode-Probleme mit Delphi 2009 / 2010 und windows-API-Aufrufe

Hallo ich habe diese Funktion in Delphi 2006, aber jetzt mit D2010 wirft es einen Fehler.
Ich denke, es ist im Zusammenhang mit der Umstellung auf Unicode.

  Function TWinUtils.GetTempFile(Const Extension: STRING): STRING;
  Var
     Buffer: ARRAY [0 .. MAX_PATH] OF char;
  Begin
    Repeat
      GetTempPath(SizeOf(Buffer) - 1, Buffer);
      GetTempFileName(Buffer, '~~', 0, Buffer);
      Result := ChangeFileExt(Buffer, Extension);
    Until not FileExists(Result);
  End;

Was soll ich tun damit es funktioniert?

BEARBEITEN

Bekomme ich eine "access violation", wenn das ChangeFileExt heißt

  • sollten Sie Bearbeiten Ihre Frage zum zählen der Fehlermeldung (eine gute Gewohnheit - macht Sinn, oder?)
  • Bitte Folgen Sie dem link für eine Diskussion des Problems (fast der gleiche code) und eine bessere version berücksichtigt, dass einige mehr von dem, was die API-Dokumentation sagt bezüglich der maximalen Puffergröße. forums.embarcadero.com/thread.jspa?threadID=18246
Schreibe einen Kommentar