![]() |
Gif aus Resoure-datei nutzen
Hallo an alle
Ich mochte in meinem Projekt einige gif´s nutzen und die zur laufzeit laden. die gifs habe ich in eine resourcedatei gepackt. textdatei (datei.rc) mit " 100 RCDATA "Bildname1.gif" 101 RCDATA "Bildname2.gif" 102 RCDATA "Bildname3.gif" ... " erstellt. Dann mit brcc32.exe compiliert (brcc32.exe datei.rc) und datei.RES erhalten. Mit
Delphi-Quellcode:
habe ich die Datei in mein Projekt eingebunden.
{$R bilder.res}
Wie kann ich jetzt auf die Bilder zugreifen??? Dachte es geht mit LoadFromResourceID aber bei TImage klappt das ja nicht. :( Habe ich vielleicht auch bei der resource datei etwas falsch gemacht? Gruss Katrin |
Re: Gif aus Resoure-datei nutzen
Hallo Katrin,
vielleicht ist das hier -> ![]() Deine Lösung. Grüße Klaus |
Re: Gif aus Resoure-datei nutzen
Danke für die Antwort.
Habe mir den Bericht durchgelesen und alles probiert, aber leider bekomme ich beim ausführen der ladenprocedure immer eine fehlermeldung. Resource Bildname1.gif wurde nicht gefunden. Ist meine Resourcedatei vielleicht falsch aufgebaut???
Delphi-Quellcode:
{$R datei.res}
procedure laden; var Res : TResourceStream; Bild : TGIFImage; begin Res := TResourceStream.Create(Hinstance, 'Bildname1.gif', PChar('RC_DATA')); Bild := TGIFImage.Create; try Bild.LoadFromStream(res); finally Res.Free; end; Image1.Picture.Graphic := Bild; Bild.Free; end; |
Re: Gif aus Resoure-datei nutzen
'Bildname1.gif' ist auch nicht der Name deiner Ressource, sondern 100.
|
Re: Gif aus Resoure-datei nutzen
das hatte ich auch schon ausprobiert.
Delphi-Quellcode:
immer die selbe fehlermeldung.
Res := TResourceStream.Create(Hinstance, 'Bildname1.gif', PChar('RC_DATA'));
Res := TResourceStream.Create(Hinstance, 'Bildname1', PChar('RC_DATA')); Res := TResourceStream.Create(Hinstance, '100', PChar('RC_DATA')); Resource 100 wurde nicht gefunden. :wall: |
Re: Gif aus Resoure-datei nutzen
Hast Du die GifImage eingebunden?
//Edit: Anscheind ja. TGifImage wird deklariert. Sorry |
Re: Gif aus Resoure-datei nutzen
resourcedatei
100 RC_DATA "Bildname1.gif" 101 RC_DATA "Bildname2.gif" 102 RC_DATA "Bildname3.gif" 103 RC_DATA "Bildname4.gif" 104 RC_DATA "Bildname5.gif" 105 RC_DATA "Bildname6.gif" compilieren hat mit brcc32.exe funktioniert. Programmcode
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, GIFImage; type TForm1 = class(TForm) Button1: TButton; Image1: TImage; procedure Button1Click(Sender: TObject); procedure test; private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} {$R datei.RES} procedure TForm1.test; var Res : TResourceStream; Bild : TGIFImage; begin Res := TResourceStream.Create(Hinstance, '100', PChar('RC_DATA')); Bild := TGIFImage.Create; try Bild.LoadFromStream(res); finally Res.Free; end; Image1.Picture.Graphic := Bild; Bild.Free; end; procedure TForm1.Button1Click(Sender: TObject); begin Form1.test; end; end. Wenn ich nun via Buttonklick zur laufzeit das gif laden will bekomme ich nur eine Fehlermeldung. :pale: |
Re: Gif aus Resoure-datei nutzen
Vergib mal alphanumerische IDs statt numerischen, also 'myGif' statt 100...
|
Re: Gif aus Resoure-datei nutzen
Und wenn letzter Vorschlag auch nicht geht, dann nimm sie als EXEDATA in die Resource auf und dann einfach temporär auspacken und laden.
//Edit desweiteren mal die Methoden angucken
Delphi-Quellcode:
Image1.Picture.Bitmap.LoadFromResourceID(0, 100);
Image1.Picture.Bitmap.LoadFromResourceName(0, '100'); |
Re: Gif aus Resoure-datei nutzen
Wie wärs mit
Delphi-Quellcode:
Tut es das?
Res := TResourceStream.Create(Hinstance, '#100', PChar('RC_DATA')); // Raute bei Integer-IDs: '#100'
Gruß, teebee |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:19 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