(Moderator)
Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
Delphi 2006 Professional
|
Re: Pointer kann nicht freigegeben werden?
4. Apr 2007, 15:47
Das ist korrekt. Du forderst Speicher an und bekommst die Adresse zurück geliefert des angeforderten Speichers. Diese Adresse änderst du (incrementierst) und sagst dann der Speicher an der neuen Adresse soll frei gegeben werden. Aber es wurde nie ein Speicherblock reserviert welcher an dieser Adresse los geht. Demzufolge kann da auch nichts wieder frei gegeben werden.
Bildlich kannst du dir das wie folgt vorstellen:
- Du lässt dich mit dem Taxi nach OrtA fahren und merkst dir die Nummer des Taxis (Nummer 375)
- Dann läufst du von OrtA nach OrtB
- Dort rufst du die Taxizentrale an und sagst du willst von OrtB abgeholt werden wo Taxi 375 dich abgeliefert hat.
- Die Verwirrung ist groß weil Taxi 375 niemals jemanden in OrtB abgeliefert hat und somit jetzt auch nicht weiß wo in OrtB jemand abgeholt werden soll.
Jens Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
|