Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ListView Data befüllen? (https://www.delphipraxis.net/192944-listview-data-befuellen.html)

SneakyBagels 4. Jun 2017 18:27

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:
//Instanzen im Dictionary freigeben
for DeineKlasse in FListe.Values do
  DeineKlasse.Free;
Ein einziges Item löschen, das möchte ich gerne wissen wie das mit dem Dictionary funktioniert.

Ach vergess den Quatsch da oben. Ich hab vergessen, dass es ja keinen Index gibt :oops:

haentschman 5. Jun 2017 05:25

AW: ListView Data befüllen?
 
Moin...:P
Delphi-Quellcode:
//Instanzen im Dictionary freigeben
for DeineKlasse in FListe.Values do
  DeineKlasse.Free;
Es gibt auch ein TObjectDictionary. Da wird beim Erzeugen des Dictionarys entschieden was mit den Objekten passiert.
http://docwiki.embarcadero.com/Libra...jectDictionary
http://docwiki.embarcadero.com/Libra...tionary.Create
Zitat:

Der Parameter Ownerships ist ein TDictionaryOwnerships-Typ, der angibt, ob das Dictionary Eigentümer der Schlüssel und/oder Werte in Einträgen ist. Das Dictionary kann entweder Eigentümer des Schlüssels, des Wertes, von beidem oder von keinem sein. Wenn das Dictionary zum Zeitpunkt des Entfernens des Objekts dessen Eigentümer ist, wird der Schlüssel und/oder der Wert freigegeben.

DeddyH 5. Jun 2017 07:59

AW: ListView Data befüllen?
 
Ach siehste, das hatte ich ganz verdrängt. :)

SneakyBagels 5. Jun 2017 10:12

AW: ListView Data befüllen?
 
Delphi-Quellcode:
// 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;
Und wieder zwei Codezeilen weniger. Da ich das Freigeben der Values sogar in eine Prozedur gepackt hätte sind es sechs Zeilen weniger.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 Uhr.
Seite 3 von 3     123   

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