![]() |
Delphi-Version: XE2
TImage zeigt keine PNG Bilder an
Mein XE3 verhält sich mal wieder sehr komisch, und zwar passiert folgendes:
Wenn ich ein TImage auf meine Form lege und ein jpg Bild rein lade funktioniert alles wunderbar, wenn ich aber nun ein PNG Bild lade wird mir dieses zwar zur Designzeit angezeigt aber beim ausführen nicht mehr. Woran kann das liegen? |
AW: TImage zeigt keine PNG Bilder an
Du brauchst Vcl.Imaging.pngimage irgendwo in der Uses-Anweisung, dann wird PNG-Support mit eingebunden. Die IDE hat das über das Designtime-Package schon drin.
|
AW: TImage zeigt keine PNG Bilder an
Ist bereit eingebunden halt nur als pngimage zeigt aber auf das selbe.
|
AW: TImage zeigt keine PNG Bilder an
Hast du evtl. weitere Komponentensammlungen installiert die PNG-Support mitbringen.
Im gespeicherten Stream der DFM steht am Anfang der Komponentenname der für die PNG-Anzeige zuständig ist. Wenn nun in der IDE ein anderer PNG-Imageviewer zusätzlich installiert ist schreibt dieser dann seine "Signatur" rein. Damit kann dan die eompilierte Exe dann nichts mehr anfangen weil dort nur der Standard-Viewer sich registriert. |
AW: TImage zeigt keine PNG Bilder an
Ich denke daran wirds liegen, weil ich noch eine Komponente für PNGButtons benutze, und außerdem das Projekt mal ein Delphi 2005 Projekt war, wie fix ich das am besten?
Edit: Was mir noch aufgefallen ist: Bilder zur Laufzeit laden geht! |
AW: TImage zeigt keine PNG Bilder an
Zitat:
Zur DFM wird aber explizit der Klassenname gespeichert, wovon aber der Typ scheinbar nicht einkompiliert wurde. In der IDE sind aber dennoch alle Klassen registiert, welcher grade als Package dort geladen sind. Hier mußt du entweder dafür sorgen, daß diese "böse" PNG-Klasse aus den Packages des Projekts ausgeschlossen werden. (z.B. Package deinstallieren oder ![]() Oder du definierst dir ein Alias für deine "neue" PNG-Klasse, registierst sie vor dem Laden der DFM und leitest so den Namen der "anderen" Klasse auf die "neue" Klasse um. ![]() |
AW: TImage zeigt keine PNG Bilder an
Zitat:
|
AW: TImage zeigt keine PNG Bilder an
Zitat:
![]() |
AW: TImage zeigt keine PNG Bilder an
Ein bissl übertrieben diese Komponente?
Die bringt ihr eigenes PNG und ZLIB mit. [edit] Nimm diese Komponente, schmeiß die Units pngimage und zlib weg, und fertig. Wer will, kann pngimage in Vcl.Imaging.pngimage umbenennen und das TPNGObject in TPngImage ersetzen. Ob dann alles Funktiont, kann ich nicht sagen, aber es kompiliert schonmal problemlos und ohne Warnungen oder Hinweise. |
AW: TImage zeigt keine PNG Bilder an
Zitat:
Wer Lust und Zeit hat kann diese Komponente ja soweit anpassen das sie bei neueren Delphi-Versionen die mitgelieften PNG und ZLIB-Units verwendet oder einfach selbst im Code eine weiche der Art
Delphi-Quellcode:
verwenden
type
{$IFDEF DELPH_10_UP} TMyPNG = <TPNG_von_Delphi>; {$ELSE } TMyPNG = <TPNG_von_PNGDelphi>; {$ENDIF} |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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