Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
1. Okt 2016
Natürlich hat es das! Wenn du den Pointer unter Buffer überschreibst, dann kann das FreeMem damit nicht mehr wirklich was anfangen.
Das ist wohl eher Zufall!
Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
1. Okt 2016
Ich wundere mich, daß das überhaupt je funktioniert haben soll.
Move(Msg, Buffer, dwSize);
kopiert den Pointer auf einen Text (= eine String-Variable) in einen untypisierten Pointer, aber nicht den Textinhalt in den Speicherbereich, auf den der Pointer zeigt. Das spätere FreeMem gibt dann also Speicher frei, der eigentlich der string-Variablen gehört.
Müsste es nicht eher so heißen:
...