Ein Testlauf mit einer TImageList bzw. ein TjvImageList ergab Folgendes:
Knapp eine Million (genau: 923.168) Icon-Bitmaps der Größe 30x30 mit 24 Bit Farbtiefe wurden problemlos in eine ImageList geladen – allerdings nur mit einem 64-Bit-Programm unter einem Win64. Da würden auch noch etliche mehr reinpassen. Bei einem 32-Bit-Programm paßten in die Imagelist lediglich 771.725 Bitmaps dieser Größe (hängt wohl auch davon ab, was sich sonst noch so im Speicher tummelt). Eine Testanwendung habe ich nun so gestaltet, daß immer nur die Bitmaps in die Imagelist geladen werden, die auch aktuell ausgewählt wurden. Ich glaube kaum, daß ein Anwender sich in einer einzigen Sitzung durch alle Baumknoten klickt, um auch nur die Grenze der Imagelist bei einer 32-Bit-Anwendung, geschweige denn bei einer 64-Bit-Anwendung zu erreichen.
Wer sich für die Testanwendung incl. zugrundeliegender Testdatenbank (gepacktes Firebird-Backup ca. 300 MB) und Source interessiert, möge mir das via PM mitteilen. Die Datenbank enthält jene 923.168 Einträge (Geodaten von OpenGeoDB oder OpenStreetMap, weiß ich gerade nicht auswendig), denen jeweils ein oben beschriebenes Bitmap (in der DB gespeichert als Jpg-Grafik) zugeordnet ist. Das Program stellt diese Einträge als Baumstruktur dar, und zwar geordnet. Zum Kompilieren werden die DevArt-Komponenten IbDac benötigt, die man sich, falls man keine Lizenz hat, testweise bei Devart herunterladen kann.