Registriert seit: 7. Sep 2003
50 Beiträge
Delphi 7 Personal
|
Re: Komponeten zerstören
1. Okt 2003, 21:46
Du destroyst die Componente zwar, aber du NIL'st nur die temporäre Variable 'Compo' dieser Procedure 'Destroy_component'. Die TComboBox-Instanz die du beim Aufruf dieser Procedure in der Parameterliste mitgegeben hast wird zwar so auch freigegeben aber eben nicht geNILt, weil es zwei unterschiedliche Ptr-Variablen sind.
Der Ptr in deiner Procedure-Parameterliste übernimmt den Ptr-Wert auf die zu löschende CompoBox, wodurch deren Speicher dann freigegeben wird. Anschließend wird aber nur dein Ptr in der Procedure geNILt und eben nicht der 'draußen'.
Versuche mal in deinem Procedurekopf diese 'Compo'-Variable als 'var' zu declarieren:
procedure Destroy_Component(var Compo : TComponent);
MfG
|