Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Wie nutze ich den TResourceStream richtig?

  Alt 16. Dez 2013, 17:59
OH, nun hab ich es!!

RT_BITMAP ist eine Delphi-Konstante, die in Winapi.windows so definiert ist:
Code:
{$EXTERNALSYM RT_BITMAP}
  RT_BITMAP = MakeIntResource(2);
Ich habe mich von der Beschreibung des Parameters ("Restype: PChar") in "TResourceStream.create" und diversen im Internet falsch kursierenden Beispielen irritieren lassen und ging davon aus, dass hier ein String erwartet wird.

Wenn man es also so schreibt:
ms := TResourceStream.Create(HInstance, 'Bitmap_1', RT_Bitmap); dann funktioniert es wie gewünscht (also nicht 'RT_BITMAP' sondern einfach nur RT_Bitmap).

Und ja: Uwe hat natürlich auch recht, in der Resource ist ein Bitmap-FileStream, den man nicht direkt als Bitmap-Stream laden kann, muss man erst konvertieren (dafür kann man die procedure "TBitmapResource.SaveToStream(Stream: TStream);" aus dem mit Delphi mitgelieferten Demo "ResXplor" etwas abgewandelt verwenden).

Vielen Dank für die hilfreichen Hinweise!

Geändert von Harry Stahl (16. Dez 2013 um 18:01 Uhr)
  Mit Zitat antworten Zitat