Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TurboDelphi hängt sich beim Speichern von ImageList auf (https://www.delphipraxis.net/157159-turbodelphi-haengt-sich-beim-speichern-von-imagelist-auf.html)

LWChris 31. Dez 2010 22:30

TurboDelphi hängt sich beim Speichern von ImageList auf
 
Hallo zusammen,

ich habe ein Problem mit einer ImageList. Ich habe diese ImageList vorher im Projekt schon verwendet, und wollte nun die einfachen Skizzen in ihr durch richtige Grafiken ersetzen. Das Problem ist:

Die neuen Grafiken sind in Ausmaß und Bittiefe größer. Die alten waren alle 150x75 px und 8 Bit, die neuen sind alle 300x180 px und 24 Bit. Wenn ich nun alle alten Bilder aus der ImageList rauswerfe und das erste neue einfüge, passiert noch nichts. Sobald ich in Turbo Delphi aber auf "Speichern" oder "Kompilieren" klicke, reagiert es nicht mehr und ich muss den Prozess mit dem Taskmanager beenden. Es ist egal, ob ich nur ein neues oder alle neuen Bilder in die ImageList eingefügt habe.

Gibt es irgendeine maximale Größe für die Bitmaps, die man in ImageList-Komponenten speichern darf? Ich habe dieselbe Grafik auch schon in einem normalen Image, das funktioniert einwandfrei.

Chris

Edit: ich glaube, ich hab den Fehler gefunden. ImageList.ImageSize - maximum ist 256 für Höhe oder Breite. Habe ich zwar aus einem .NET Forum, aber es könnte gut sein, dass hier dasselbe vorliegt. Zumindest stürzt TD nicht ab, wenn ich die Größe auf 256 setze, aber bei 257 schon. http://msdn.microsoft.com/en-us/libr...imagesize.aspx

himitsu 1. Jan 2011 00:13

AW: TurboDelphi hängt sich beim Speichern von ImageList auf
 
Wieviele Bilde willst d denn in dieser Liste ablegen?

PS: Du weißt aber, daß die TImageList von Delphi alle Bilder in einem einzigem Bitmap verwaltet?
Und ein Bitmap hat auch irgendwo seine Grenzen.

Beim verändern der Liste (hinzufügen/löschen von Bildern) sind also ganz schöne Speicheroperationen nötig, vorallem bei vielen und/oder großen Bildern.
Auch beim Zugriff auf ein Bild wird dieses jedesmal erst aus dem großen Bitmap rauskopiert.


Das mit dem 256 könnte uch gut sein, denn intern sollte .Net (unter Windows) ebenfalls die selbe WinAPI nutzen.
MSDN-Library durchsuchenImageList_SetIconSize

LWChris 3. Jan 2011 22:14

AW: TurboDelphi hängt sich beim Speichern von ImageList auf
 
Sind nicht viele, nur 9 Stück. Habe jetzt die Größe reduziert auf 150x90. Das geht wunderbar und reicht auch noch :)

Chris


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