Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: Was macht Free genau in einem Array

  Alt 8. Dez 2005, 16:01
Zitat von s.h.a.r.k:
Mein Gedanke: Mit Free gebe ich den belegten Speicher wieder frei und mit dem setlength verkürze ich das Array. Allerdings bringt mir Delphi bei einer späteren Verwendung des Array ein EA-Fehler, was ich irgendwie nicht ganz versteh: Den das Free gibt auch irgendwie das Array-Feld frei - nur warum?!?! Stimmt meine letzte Annahme überhaupt???
Hi,
also mit dem Free gibst du definitiv nicht das komplette Array frei, sondern machst genau das was du möchtest (vorrausgesetzt ich hab dich richtig verstanden). Wenn du ein TFont aFont anlegst und an der Stelle 10 ins Array schreibst, dann wird eben aFont freigegeben.
Wird die Referenz noch irgendwo im Programm benutzt, so ist diese natürlich genauso freigegeben worden. Wenn du also nach einem solchen Free ein Problem hast, solltest du nochmal kontrollieren, ob du noch irgendwo anders auf das gleiche Element verweist und natürlich auch, dass du nicht über die Grenzen des Arrays hinaus gehst (nach Verminderung).

Gruß Der Unwissende
  Mit Zitat antworten Zitat