Zitat von
Motzi:
Die ergebnisse werden sich unterscheiden.. ein einem Fall sind String1 und String2 ident (obwohl nur String1 über die
API-Funktion geändert wurde). Ich bin mir zwar nicht ganz sicher wie der Code dazu ausschaun muss (eventuell muss man ihn ein bisschen anpassen) aber ich hab schonmal ein paar Tests gemacht mit genau diesem Ergebnis. Aber genau um diesen Fall zu verhindern gibt es die Funktion UniqueString.
Meine Ergebnisse (nutze GetTempPath):
Version 1:
Access Violation
Version 2: String 1 hat das Ergebnis, String 2 den ursprünlichen Wert.
Insgesamt, wie erwartet, da dass Casten eines Strings in ein PChar für variable Parameter nicht als sicher gilt.