Ciao, domanda: qualcuno sa come eliminare definitivamente un oggetto o un gruppo di oggetti da un form?
Problema: Ho creato una classe frame dove sono contenuti sei controlli. In un altro form ho una serie di checkbox, sputando una qualunque di queste creo un riferimento al frame e lo visualizzo. Spuntando una seconda checkbox creo un altro riferimento ad un secondo frame e lo visualizzo, ecc.., in parole povere creo tante istanze del frame ognuno con un puntatore diverso. Tutta la lista di questi puntatori è in un oggetto di tipo TList (così posso accedere in maniera sequenziale a tutti i puntatori creati senza controllare quali sono creati e quali no). Fin qui tutto ok. Ma se voglio eliminare il segno di spunta da una checkbox deve "sparire" eliminando pure il riferimento frame che ho creato spuntandola. Qualcuno sa come fare?
la classe frame si chiama TfrmValore;
nell'evento onClick di una qualsiasi checkbox ho inserito questo codice
FrameList è un oggetto di tipo TList.codice:procedure TfrmAvanzate.CheckBox1Click(Sender: TObject); var obj:TfrmValore; begin { Crea gli oggetti utili per specificare i valori } if CheckBox1.Checked then begin obj := TfrmValore.Create(Self); obj.Parent := pnlValori; obj.Align := alTop; FrameList.Add(frmMinsan); end else begin FrameList.Remove(obj); end; end;
In definitiva quello che voglio fare è spuntando il controllo crea e visualizza il frame, eliminando il segno di spunta nascondere e eliminare il frame.