AW: OnKlick auf dynamisch erzeugte Objekte
Zitat:
Aber geändert hat sich nichts. Das ist der Vorgang zum löschen
Delphi-Quellcode:
Roland
procedure Tf_hauptform.Button2Click(Sender: TObject);
var i : integer; begin for I := objectlist.Count to ObjectList.Count - 1 do begin objectlist.Delete(i); end; FreeAndNil(objectlist); end; |
AW: OnKlick auf dynamisch erzeugte Objekte
Du musst die Objekte nicht händisch löschen, das macht TObjectList ganz automatisch. Und wenn deren OwnsObjects-Eigenschaft true ist (Voreinstellung), dann werden die enthaltenen Objekte dabei auch gleich freigegeben.
|
AW: OnKlick auf dynamisch erzeugte Objekte
Da du aber nur die Liste löschtst, aber die Instanzvariable nicht zurücksetzt, enthält diese die Adresse der nicht mehr existenten Liste - Assigned liefert wahr
|
AW: OnKlick auf dynamisch erzeugte Objekte
Ja eben, das haben wir in #9 und #10 ja auch schon zu erklären versucht.
|
AW: OnKlick auf dynamisch erzeugte Objekte
Delphi-Quellcode:
Eine andere Variante.
procedure Tf_hauptform.Button2Click(Sender: TObject);
var i : integer; temp : tcomponent; begin for i:=objectlist.Count -1 downto 0 do begin Temp:=Components[i]; if Temp is TJVCaptionPanel then Temp.Free; end; FreeAndNil(objectlist); end; Trotzdem kann ich die Panels nicht wieder neu erzeugen. Vielleicht kann mit jemand einen Beispielcode liefern der mir da weiter helfen kann. Gruß |
AW: OnKlick auf dynamisch erzeugte Objekte
der letzte Post war (sorry) ziemlich sinnfrei , welche Components[i] ??
am besten lädst Du mal ein Zip mit dem Source hoch ... |
AW: OnKlick auf dynamisch erzeugte Objekte
Wieso wird die Objektliste durchlaufen und dann mit dem daraus ermittelten Index auf das Components-Array zugegriffen?
|
AW: OnKlick auf dynamisch erzeugte Objekte
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist der Sourcecode
Gruß |
AW: OnKlick auf dynamisch erzeugte Objekte
Also zur allgemeinen Informationen.
Ich suche, finde und probiere aus solange bis ich eine Lösung gefunden habe. Momentan verstehe ich nicht wie ich es hinbekommen kann, meine dynamisch erstellten Panels zu entfernen und bei Bedarf wieder zu erstellen. Der Bedarf ist dann da, wenn in den Kontakten ein neuer Datensatz hinzugefügt, geändert oder gelöscht wurde. LG Roland |
AW: OnKlick auf dynamisch erzeugte Objekte
Und was ist so schwierig daran, das umzusetzen, was dir hier geschrieben wird?
Delphi-Quellcode:
var
ObjLst : TObjectList; // Erzeugen der Panels if not Assigned( ObjLst ) then ObjLst := TObjectList.Create; while ObjLst.Count < 10 do begin TmpPnl := TPanel.Create( nil ); ObjLst.Add( TmpPnl ); TmpPnl.Parent := Self; // nur den Parent auf das aktuelle Formular setzen // weitere Properties setzen end; // löschen der Objekte in der Liste und entsorgen der Liste selber FreeAndNil( ObjLst ); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz