Wenn das PNG zur Designtime in ein
TImage
geladen werden kann, liegt das daran, daß die PNG-Unterstützung in die
IDE mit eincompiliert ist.
Es reicht auch wenn ein Packages das nachrüstet
Damit das PNG dann auch zur Laufzeit angezeigt werden kann, muss natürlich dort auch die PNG-Unterstützung dabei sein. Dies erreicht man, indem man PngImage
in die uses
-Clause schreibt.
EDIT: Dies war schon in älteren Versionen ein beliebter Fehler mit JPG Images...
Normalerweise ergäntz die
IDE automatisch die Uses-Anweisung um die benötigte
Unit damit das passt.
Jedoch könnt es Probleme geben wenn mehrer PNG-Komponenten installiert sind und damit die
IDE verwirren. In der
DFM wird als erste Bytes der Name der Klasse mitgespeichert welche für den PNG-Support zuständig ist. Wenn jetzt die
IDE "verwirrt" ist so trägt sich z.B. in's
DFM z.B. TPNGObject (ehemalige freie PNG-Komponente) ein, aber in die Uses-Anweisung z.B. PNGImage was damit nur eine PNG-Klasse anderen Namens bindet.
Windows Vista - Eine neue Erfahrung in Fehlern.