Zitat von
Bernhard Geyer:
Schon mal überlegt das deine lokale Variable ByteArray: Array of Char;
automatisch beim verlassen der Funktion WideStringToDoubleLongString Speichertechnisch freigegeben wird und du dann als result-Parameter einen Nirvana-Pointer hast?
Bist du dir da ganz sicher? Ich sage result := string(ByteArray).
ByteArray wird genommen und als String umgewandelt. Und ein String ist kein Pointer. Folglich zeigt result nicht ins leere. Oder nicht?
Bitte zeig mir lieber, wie man mit Codebeispielen es besser macht, anstatt an meinem Code rumzumeckern. Ich bin kein Fachinformatiker, aber ich sehe hier nicht, dass result ein Pointer ist. Result ist außerdem vom Typ "string". Folglich kein Pointer, der ins nichts zeigen kann.
Gruß
blackdrake