Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   [Artikel] Hinzufügen von vielen Einträgen einer Listbox besc (https://www.delphipraxis.net/67315-%5Bartikel%5D-hinzufuegen-von-vielen-eintraegen-einer-listbox-besc.html)

Luckie 13. Apr 2006 00:56


[Artikel] Hinzufügen von vielen Einträgen einer Listbox besc
 
Und wieder ein neuer Artikel auf meiner Homepage; Hinzufügen von vielen Einträgen einer Listbox beschleunigenHinzufügen von vielen Einträgen einer Listbox beschleunigen. Dies mal geht es darum, wie man das Hinzufügen von vielen Einträgen in eine List- oder Combobox beschleunigen kann.

DGL-luke 13. Apr 2006 01:49

Re: [Artikel] Hinzufügen von vielen Einträgen einer Listbox
 
:thumb: Schöner Beitrag.
EDIT: ==entfernt==

mr47 13. Apr 2006 02:23

Re: [Artikel] Hinzufügen von vielen Einträgen einer Listbox
 
Sehr verständlich geschrieben...
Gut verdeutlicht, was wirklich etwas bringt!

:thumb: :thumb:


mr47

Luckie 13. Apr 2006 08:34

Re: [Artikel] Hinzufügen von vielen Einträgen einer Listbox
 
Ächtz. Rechtschreibfehler bitte per PN melden.

Ich war mir erst nicht sicher, ob das "+" und das "-" deutlich genug machen, was gemeint ist. Aber es scheint ja doch verständlich zu sein.

jim_raynor 13. Apr 2006 13:12

Re: [Artikel] Hinzufügen von vielen Einträgen einer Listbox
 
Ähmmm. Ja. Bloß mal eine blöde Frage.

Bewirkt denn ListBox1.Items.BeginUpdate und ListBox1.Items.EndUpdate nicht so ziemlich das gleiche? Ausser das deine Variante natürlich auch bei NonVCL funktioniert.

Elvis 13. Apr 2006 13:37

Re: [Artikel] Hinzufügen von vielen Einträgen einer Listbox
 
@Jim, genau
Außerdem könntest du die Capacity der Items vorher festlegen und wir hätten keinerlei unsinnige API Calls mehr im Code. ;)
Wozu sich damit die Finger dreckig machen, wenn das schon in der VCL verpackt wurde? :gruebel:

Bei reinem NonVCL Code mag das wieder anders aussehen...

Basilikum 13. Apr 2006 13:50

Re: [Artikel] Hinzufügen von vielen Einträgen einer Listbox
 
Zitat:

Zitat von Elvis
Außerdem könntest du die Capacity der Items vorher festlegen und wir hätten keinerlei unsinnige API Calls mehr im Code. ;)

dies würde leider (zumindest bei der VCL von Delphi 7) nichts bewirken, da TListBoxStrings (TListBox.Items) die Methode SetCapacity nicht überschreibt/entsprechend implementiert...

Zitat:

Zitat von Luckie
[..] Man muss allerdings dazu sagen, dass ich den standard Speichermanager von Delphi benutzt haben. Man könnte noch mal ausprobieren, ob nicht andere Speichermanager etwas performanter beim Alloziieren des Speichers sind.

ich denke nicht, dass dies nennenswerte Vorteile bringen kann, da der Speicher für die ListBox-Items von Windows bzw. der WindowClass-Implementation verwaltet wird - dort hat der Delphi-MM keinen Einfluss...

Luckie 13. Apr 2006 14:02

Re: [Artikel] Hinzufügen von vielen Einträgen einer Listbox
 
Ich werde wohl noch auf die entsprechenden VCL Methoden hinweisen.
Zitat:

Zitat von Elvis
Wozu sich damit die Finger dreckig machen, wenn das schon in der VCL verpackt wurde? :gruebel:

Bei reinem NonVCL Code mag das wieder anders aussehen...

Ich habe nicht gesagt, dass man es so benutzen muss und mit dem Hinweis auf die VCL Methoden dient der Artikel dazu die Hintergründe zu verstehen.

Elvis 13. Apr 2006 14:10

Re: [Artikel] Hinzufügen von vielen Einträgen einer Listbox
 
Zitat:

Zitat von Basilikum
Zitat:

Zitat von Elvis
Außerdem könntest du die Capacity der Items vorher festlegen und wir hätten keinerlei unsinnige API Calls mehr im Code. ;)

dies würde leider (zumindest bei der VCL von Delphi 7) nichts bewirken, da TListBoxStrings (TListBox.Items) die Methode SetCapacity nicht überschreibt/entsprechend implementiert....

Gerade gesehen. :shock: Hätte ich mir eigentlich gleich denken können dass wieder die Hälfte fehlt... :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 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 by Thomas Breitkreuz