AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi TResourceStream - BITMAP - Verständnisfrage
Thema durchsuchen
Ansicht
Themen-Optionen

TResourceStream - BITMAP - Verständnisfrage

Ein Thema von x000x · begonnen am 29. Jun 2007 · letzter Beitrag vom 1. Jul 2007
Antwort Antwort
Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#1

TResourceStream - BITMAP - Verständnisfrage

  Alt 29. Jun 2007, 23:09
Moin moin,

gegeben ist folgende RC Datei:
Code:
TESTONE  BITMAP  "one.bmp"
TESTTWO  BMP     "one.bmp"
Wenn ich mit ... TResourceStream.Create(hInstance, 'TESTONE', 'BITMAP'); den Stream erstellen will, bekomm ich einen Fehler. (Resource TESTONE wurde nicht gefunden)
Mit ... TResourceStream.Create(hInstance, 'TESTTWO', 'BMP'); funktioniert es.
Ich hab mal zum nachstellen ein kleines Demoprojekt angehangen.
Kann mir jemand erklären, warum das so ist?

NACHTRAG:
Bei LoadBitmap ist es genau anders herum:
Delphi-Quellcode:
Bmp.Handle := LoadBitmap(hInstance, 'TESTONE'); // funktioniert
Bmp.Handle := LoadBitmap(hInstance, 'TESTTWO'); // funktioniert nicht
Angehängte Dateien
Dateityp: rar retest_114.rar (8,8 KB, 16x aufgerufen)
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TResourceStream - Verständnisfrage

  Alt 29. Jun 2007, 23:48
BITMAP in der Ressource ist ein reserviertes Wort für den Typ Bitmap welcher in Delphi die Constante RT_BITMAP haben müsste.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#3

Re: TResourceStream - Verständnisfrage

  Alt 30. Jun 2007, 01:22
Ok, erstmal danke aber
rs := TResourceStream.Create(hInstance, 'TESTONE', RT_BITMAP); gibt mir jetzt den Fehler: Bitmap ist ungültig
Auch die Reduzierung auf 256 Farben bringt keine Änderung.
Es muss doch dafür eine Erklärung geben?


Luckie hat hier eigentlich die selbe Frage gestellt, hab ich nur eben erst gesehen. Nur eine Erklärung ist dort auch noch offen...
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: TResourceStream - BITMAP - Verständnisfrage

  Alt 30. Jun 2007, 07:37
wie bereits erwähnt ist der Typ "BITMAP" ein reservierter. Dabei wird die Datei nicht wie üblich einfach 1 zu 1 in die Ressource übernommen. Daher funktioniert es wohl mit dem Laden aus einem RessourceStream nicht weil eben nur noch die notwendigsten Infos in der Ressource sind (bei meinen Tests war die Ressource 14 Byte kleiner als das eigentliche Bild).

Du kannst die Bitmapressource aber wie folgt laden:
Delphi-Quellcode:
var
  lBmp : TBitmap;
begin
  lBmp := TBitmap.Create();
  try
    lBmp.LoadFromResourceName(HInstance, 'TESTONE');
    //do something like that: Image1.Picture.Graphic := lBmp;
  finally
    lBmp.Free;
  end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#5

Re: TResourceStream - BITMAP - Verständnisfrage

  Alt 1. Jul 2007, 00:32
Hallo Jens,
Zitat von SirThornberry:
... Dabei wird die Datei nicht wie üblich einfach 1 zu 1 in die Ressource übernommen. Daher funktioniert es wohl mit dem Laden aus einem RessourceStream nicht weil eben nur noch die notwendigsten Infos in der Ressource sind (bei meinen Tests war die Ressource 14 Byte kleiner als das eigentliche Bild).
das ist ne einleuchtende Erklärung, danke dir für deine Mühe.
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:07 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