Thema: Delphi pchar freigeben?

Einzelnen Beitrag anzeigen

mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#10

Re: pchar freigeben?

  Alt 16. Feb 2006, 07:58
vielen vielen dank für die ausführliche antwort !!!!

aber eine frage hätte ich noch:
Delphi-Quellcode:
p_char: PChar;
begin
...
  p_char := nil;
  FreeMem(p_char);
end;
macht sowas sinn? wenn ich doch den p_char auf nil setz, dann kann ich doch den speichernbereich mit FreeMem nicht mehr freigeben, weil ich ja net weiß, wohin der p_char zeigt, oder?

// edit:
ahh hier steht ja die antwort, sorry
Zitat:
Die Variable lediglich auf den Wert nil zu setzen ist sinnlos. Wenn ich den Speicher noch nicht freigegeben habe, verliere ich damit die Referenz auf den Speicher (der somit allokiert bleibt). Wenn ich den Speicher bereits freigegeben habe, benötige ich eine Zuweisung auf nil nicht mehr.
Da man PChars in der Regel auch zum Referenzieren von Speicherblöcken benutzt und nicht, weil sie bei den Variablen-Definitionen schick aussehen, muss man diese Speicherblöcke auch wieder freigeben.
  Mit Zitat antworten Zitat