AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TurboDelphi hängt sich beim Speichern von ImageList auf
Thema durchsuchen
Ansicht
Themen-Optionen

TurboDelphi hängt sich beim Speichern von ImageList auf

Ein Thema von LWChris · begonnen am 31. Dez 2010 · letzter Beitrag vom 3. Jan 2011
Antwort Antwort
Benutzerbild von LWChris
LWChris

Registriert seit: 27. Jul 2010
Ort: Erkelenz
22 Beiträge
 
Turbo Delphi für Win32
 
#1

TurboDelphi hängt sich beim Speichern von ImageList auf

  Alt 31. Dez 2010, 22:30
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
Chris
Software: schnell, effektiv, günstig. Wähle zwei.

Geändert von LWChris (31. Dez 2010 um 22:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.150 Beiträge
 
Delphi 12 Athens
 
#2

AW: TurboDelphi hängt sich beim Speichern von ImageList auf

  Alt 1. Jan 2011, 00:13
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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 1. Jan 2011 um 00:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von LWChris
LWChris

Registriert seit: 27. Jul 2010
Ort: Erkelenz
22 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: TurboDelphi hängt sich beim Speichern von ImageList auf

  Alt 3. Jan 2011, 22:14
Sind nicht viele, nur 9 Stück. Habe jetzt die Größe reduziert auf 150x90. Das geht wunderbar und reicht auch noch

Chris
Chris
Software: schnell, effektiv, günstig. Wähle zwei.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:01 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