![]() |
Delphi 2010 und PNG Ressourcen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
das Thema gab es zwar schon öfter, und es gab anscheinend auch schon eine Lösung, allerdings benutze ich jetzt Delphi 2010 und damit funktionieren die bisherigen Lösungen nicht. Und zwar möcht ich ein PNG Bild aus einer Ressource in ein Image laden. Dazu habe ich eine Ressourcendatei mit folgendem Inhalt erzeugt Datumsbild PNG "Date.png". Ein Tip den ich hier gelesen hatte besagte, dass ich stattdessen Datumsbild RCDATA "Date.png" nutzen sollte, was aber auch keine Änderung brachte. Geladen habe ich das Bild folgendermassen
Delphi-Quellcode:
Hier wird mir aber immer eine EResNotFound Exception mit der Meldung 'Ressource Datumsbild nicht gefunden' aufgetreten.
var
PNG :TPNGObject; begin PNG := TPNGObject.Create; try PNG.LoadFromResourceName(Handle,'Datumsbild'); if PNG <> nil then begin Image1.Picture.Assign(PNG); end; finally FreeAndNil(PNG); end; Ist das bei Delphi 2010 anders, ober wo ist mein Fehler. Ich habe das ganze Projekt auch mal hier als Anhang hochgeladen |
Re: Delphi 2010 und PNG Ressourcen
ersetze mal die Zeile:
Code:
wieder durch:
Datumsbild PNG "Date.png"
Code:
in der Datei "bild.rc".
Datumsbild rcdata "Date.png"
// Edit: und Ersetze mal die Zeile:
Delphi-Quellcode:
durch:
PNG.LoadFromResourceName(Handle,'Datumsbild');
Delphi-Quellcode:
damit es auch aus der Resource geladen wird und nicht aus dem Fensterhandle. ;)
PNG.LoadFromResourceName(hInstance,'Datumsbild');
|
Re: Delphi 2010 und PNG Ressourcen
Warnt dich dein Delphi nicht, dass du TPNGImage nutzen sollst, anstatt TPNGObject!? So mache ich das immer:
Delphi-Quellcode:
var
png : TPngImage; begin // Hintergrund laden png := TPngImage.Create(); try png.LoadFromResourceName(HInstance,'IMAGE_NAME'); // PNG in Image anzeigen ( imgExample: TImage ) if (Assigned(png)) then imgExample.Picture.Assign(png); finally FreeAndNil(png); end; end; |
Re: Delphi 2010 und PNG Ressourcen
Oh mein Gott. Manchmal sieht man den Wald vor lauter Bäumen nicht. Natürlich muss ich HInstance nehmen. Damit funktioniert es auch problemlos. Und s.h.a.r.k hat auch Recht. Mein Delphi warnt mich, ich habe da aber absolut nicht drauf geachtet.
|
Re: Delphi 2010 und PNG Ressourcen
Du kannst die ja auch mal die
![]() |
Re: Delphi 2010 und PNG Ressourcen
Werde ich mir anschauen, hat sicherlich seinen Charme, da ich in meiner Anwendung jetzt zwischen verschiedenen PNG Images umschalten muss.
|
Re: Delphi 2010 und PNG Ressourcen
Wenn die Images alle gleiche Größe haben, ist auch eine ImageList (TImageList oder TPngImageList) möglich. Die Collection erlaubt auch Bilder unerschiedlicher Größe.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 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-2025 by Thomas Breitkreuz