Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
4. Feb 2012
Merk dir einfach Folgendes:
Sobald etwas an der Speicherverwaltung des Strings oder eines dynamischen Arrays verändert wird (z.B. Änderung der Länge), werden Zeiger eventuell ungültig.
Oder Andersrum:
Zeiger sind nur solange gültig, wie an der Speicherverwaltung nicht rumgespielt wird.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
4. Feb 2012
Du speicherst nur am Anfang einmal einen Buschtaben in S, host dir davon den Pointer P und veränderst danach ständig das S.
Und nun rate mal, was passiert ... der Speicher von S ändert sich, er liegt nun also an einer anderen Stelle, aber du bleibst hartnäckig auf der alten Position stehen, schreibst somit in der Wildnis rum und verschrottest somit auch fremden Speicher, welche nicht mehr zum...