@DeddyH: Funktioniert einwandfrei, vielen Dank! Edit: Achtung Siehe unten!
@himitsu: Genau sowas habe ich befürchtet. Wie hätte man denn jetzt idealerweise den Rückgabewert geprüft?
Wenn ich das richtig verstehe, hat Delphi bis 2007 (2009?) bei SizeOf -in diesem Fall- den identischen Wert zurückgegeben wie length, und es war -in diesem Fall- egal was man verwendete. Oder war das Beispiel auf
http://www.swissdelphicenter.ch/de/showcode.php?id=385 mit dem SizeOf einfach schon immer falsch?
Wenn ich jetzt all meine Quellcodes durchsehe und will die 2010 "fit" machen, worauf muss ich also achten? Überall da wo mit Char und SizeOf oder Length gearbeitet schauen ob das stimmt? Wegen
Unicode und so?
Edit: Achtung, DeddyH: Bei deinem Code sind hängt noch #0#0 an dem String dran. Damit kann ich also nicht tmpString := GetTempFolder + 'temp.tmp' machen; der String verändert sich nicht mehr. Mit:
Delphi-Quellcode:
SetLength(Result,GetTempPath(0, nil) + 1);
GetTempPath(Length(Result),PChar(Result));
Result := trim(Result);
geht es, aber es ist die Frage, ob man nicht direkt mit -1 statt +1 arbeiten müsste/sollte? Keine Ahnung...