Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi TList Merkwürdigkeiten :-( (https://www.delphipraxis.net/211257-tlist-merkwuerdigkeiten.html)

haentschman 22. Aug 2022 15:33


TList Merkwürdigkeiten :-(
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallole...8-)

...kann mir mal jemand das erklären:

Reihenfolge:
1. Bild1
2. Bild2

...ich hätte was vernüftiges lernen sollen. :stupid:

PS: Delphi neu getartet...gleiches. :cry:

Der schöne Günther 22. Aug 2022 15:48

AW: TList Merkwürdigkeiten :-(
 
Wenn du in Innereien rumwühlst, bekommst du Innereien. Eine TList allokiert ihren Speicher in größer werdenden Blöcken, damit sie nicht nach jedem
Delphi-Quellcode:
Add(..)
einen neuen Speicherblock anfordern und alles rüberkopieren muss.

Frag doch im Debugger einfach nach
Delphi-Quellcode:
FFilterChoice.Count
und
Delphi-Quellcode:
FFilterChoice[index]
. Dann kommt man mit den Implementierungsdetails der TList<T> nicht in Berührung und die Welt bleibt einfach 😎

himitsu 22. Aug 2022 15:55

AW: TList Merkwürdigkeiten :-(
 
Selbst ein SetLength macht sowas.



Noch besser wird es bei den Dictionaries.

Dort hast in der internen Liste auch noch Lücken.

Hier ist alles ungenutzte hinten und dort mittendrin. :)

haentschman 23. Aug 2022 06:09

AW: TList Merkwürdigkeiten :-(
 
Moin...:P

Zitat:

Dort hast in der internen Liste auch noch Lücken.
...ist klar.

Meine Erklärung:
Der Listeneintrag ist eine Enumeration. 0-X. Beim Erweitern des Range (wie beinm Dictionary) wird das Item mit 0 initialisiert = fcDate.
...vieleicht sollte ich der Enumeration ein fcNone spendieren? :zwinker:

jaenicke 23. Aug 2022 06:12

AW: TList Merkwürdigkeiten :-(
 
Der Wert fcDate ist intern nicht zufällig 0?

haentschman 23. Aug 2022 06:17

AW: TList Merkwürdigkeiten :-(
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke...

...zu spät. :zwinker: :wink:

...und ja fcDate ist 0 in der Enumeration. :zwinker:

Es war gestern schon zu spät am Tage...:stupid: Es kommt noch dazu, daß die "Auswahlen" exakt auch 4 Stück sind...:oops:

jaenicke 23. Aug 2022 07:10

AW: TList Merkwürdigkeiten :-(
 
Ja, wenn man nur schnell etwas am Handy schreibt...
Deine Antwort habe ich auf dem kleinen Display nicht gesehen. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 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