AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Gif aus Resoure-datei nutzen
Thema durchsuchen
Ansicht
Themen-Optionen

Gif aus Resoure-datei nutzen

Ein Thema von Katrin_K · begonnen am 6. Sep 2006 · letzter Beitrag vom 6. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
Katrin_K

Registriert seit: 6. Sep 2006
14 Beiträge
 
Delphi 6 Personal
 
#1

Gif aus Resoure-datei nutzen

  Alt 6. Sep 2006, 19:13
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 {$R bilder.res} habe ich die Datei in mein Projekt eingebunden.

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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Gif aus Resoure-datei nutzen

  Alt 6. Sep 2006, 19:21
Hallo Katrin,

vielleicht ist das hier -> http://www.delphipraxis.net/internal...ct.php?t=53925
Deine Lösung.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Katrin_K

Registriert seit: 6. Sep 2006
14 Beiträge
 
Delphi 6 Personal
 
#3

Re: Gif aus Resoure-datei nutzen

  Alt 6. Sep 2006, 19:57
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;
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Gif aus Resoure-datei nutzen

  Alt 6. Sep 2006, 19:58
'Bildname1.gif' ist auch nicht der Name deiner Ressource, sondern 100.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Katrin_K

Registriert seit: 6. Sep 2006
14 Beiträge
 
Delphi 6 Personal
 
#5

Re: Gif aus Resoure-datei nutzen

  Alt 6. Sep 2006, 20:31
das hatte ich auch schon ausprobiert.

Delphi-Quellcode:
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'));
immer die selbe fehlermeldung.

Resource 100 wurde nicht gefunden.
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#6

Re: Gif aus Resoure-datei nutzen

  Alt 6. Sep 2006, 20:47
Hast Du die GifImage eingebunden?

//Edit: Anscheind ja. TGifImage wird deklariert. Sorry
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Katrin_K

Registriert seit: 6. Sep 2006
14 Beiträge
 
Delphi 6 Personal
 
#7

Re: Gif aus Resoure-datei nutzen

  Alt 6. Sep 2006, 20:48
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.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Gif aus Resoure-datei nutzen

  Alt 6. Sep 2006, 20:52
Vergib mal alphanumerische IDs statt numerischen, also 'myGif' statt 100...
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#9

Re: Gif aus Resoure-datei nutzen

  Alt 6. Sep 2006, 20:55
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');
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#10

Re: Gif aus Resoure-datei nutzen

  Alt 6. Sep 2006, 20:58
Wie wärs mit Res := TResourceStream.Create(Hinstance, '#100', PChar('RC_DATA')); // Raute bei Integer-IDs: '#100' Tut es das?
Gruß, teebee
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:17 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