title image


Smiley Häufiges dynamische Erzeugen und Entferen von Elementen führt zu Fehler?
In meinem Formular erzeuge ich sehr viele Elemente als Child von ScrollBox1. Den erzeugten Elementen ist für das Ereignis OnMouseMove ein Ereignis zugeordnet.



Wenn ich nun solche Element erzeugt habe, später wieder mit .Free entferne wieder neu erzeuge, wieder .Free usw. funktioniert nach einer gewissen Wiedholungszahl das Ereignis nicht mehr, nach weiteren Versuchen, bekomme ich ein Zugriffsverletzung.



Stimmt es da mit der Speicherverwaltung nicht mehr? Kann ich da was dagegen tun?



Hier ein Codeauszug des Elemente-Entfernens:



repeat if frm_lst_Fahrzeuge.Components [i].ClassType=TLabel then

if TLabel (frm_lst_Fahrzeuge.Components [i]).Parent = frm_lst_Fahrzeuge.ScrollBox1

then begin frm_lst_Fahrzeuge.Components [i].Free; dec (i) end;

if frm_lst_Fahrzeuge.Components [i].ClassType=TShape then

if TShape (frm_lst_Fahrzeuge.Components [i]).Parent = frm_lst_Fahrzeuge.ScrollBox1

then begin frm_lst_Fahrzeuge.Components [i].Free; dec (i) end;

inc (i);

until i = frm_lst_Fahrzeuge.ComponentCount;





Grüße aus der Pfalz.

Zweibrücker Lokalfernsehen und Spartenprogramme

Fernsehen aus aller Welt und Software



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: