Thema: Delphi Komponeten zerstören

Einzelnen Beitrag anzeigen

ArrayOf..

Registriert seit: 7. Sep 2003
50 Beiträge
 
Delphi 7 Personal
 
#11

Re: Komponeten zerstören

  Alt 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

  Mit Zitat antworten Zitat