![]() |
AW: ListView Data befüllen?
Das scheint ganz gut zu funktionieren - jedenfalls im leeren Testprojekt. Ins große Projekt wird das heute Abend eingebaut.
Ich habe aber einige Stellen wo ich auf ListView-Items zugreife daher dauert die Umstellung auf Dictionary-TryGetValue ein bisschen. Ich sehe du bist Fan von kurzgeratenen Schleifenköpfen. So ähnlich kenne ich die auch von PHP und mag die sehr. In Delphi benutze ich die nicht. Wie baue ich das hier in eine normale Schleife mit Iterations-Variable i um?
Delphi-Quellcode:
Ein einziges Item löschen, das möchte ich gerne wissen wie das mit dem Dictionary funktioniert.
//Instanzen im Dictionary freigeben
for DeineKlasse in FListe.Values do DeineKlasse.Free; Ach vergess den Quatsch da oben. Ich hab vergessen, dass es ja keinen Index gibt :oops: |
AW: ListView Data befüllen?
Moin...:P
Delphi-Quellcode:
Es gibt auch ein TObjectDictionary. Da wird beim Erzeugen des Dictionarys entschieden was mit den Objekten passiert.
//Instanzen im Dictionary freigeben
for DeineKlasse in FListe.Values do DeineKlasse.Free; ![]() ![]() Zitat:
|
AW: ListView Data befüllen?
Ach siehste, das hatte ich ganz verdrängt. :)
|
AW: ListView Data befüllen?
Delphi-Quellcode:
Und wieder zwei Codezeilen weniger. Da ich das Freigeben der Values sogar in eine Prozedur gepackt hätte sind es sechs Zeilen weniger.
// Dictionary erzeugen mit OwnsValues = True, damit Values bei Dictionary-Clear freigegeben werden
aListViewData_List := TObjectDictionary<string, TListViewData>.Create([doOwnsValues]); // Dictionary leeren und alle Objekte freigeben aListViewData_List.Clear; // Dictionary freigeben aListViewData_List.Free; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz