Hallo mal wieder!
Anhand von diesem Tip:
http://www.swissdelphicenter.ch/de/showcode.php?id=385 habe ich mir die Prozedur für den TEMP-Ordner zusammengestückelt. Unter Delphi 2007 problemlos. Unter 2010 kommt beim Ausführen die
Exception
Zitat:
---------------------------
Benachrichtigung über Debugger-Problem
---------------------------
In Projekt C:\test\Project1.exe trat ein Problem mit folgender Meldung auf: '
access violation at 0x00000000: read of address 0x00000000'. Prozess angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK
---------------------------
Teilweise mit dem Zusatz "Es traten zu viele Exceptions in kurzer Folge auf" (oder ähnlich).
Delphi-Quellcode:
function Test1: string;
var
Buffer: array[0..MAX_PATH] of Char;
begin
GetTempPath(SizeOf(Buffer) - 1, Buffer);
Result := Buffer;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Caption := Test1;
end;
1) Kann das jemand nachvollziehen
2) Mache ich was falsch? Wohl ja, irgendwelche Pointer sind nicht initialisiert oder so?
3) Gibt es einen alternativen Weg, den TEMP-Ordner als String zu bekommen?
Danke im Vorraus,
Mathias
Edit: Ich würde ja fast vermuten: SetLength(Result, MAX_PATH); , aber seit wann muss einem String Speicher zugewiesen werden?