Habe gerade ein Problem: Im folgenden Beispiel funktioniert die erste Variante, die zweite aber nicht. Warum?
Delphi-Quellcode:
procedure TForm28.FormCreate(Sender: TObject);
var
ms : TResourceStream;
begin
Image1.Picture.Bitmap.LoadFromResourceName(HInstance, 'Bitmap_1'); // Variante 1 funktioniert
if FindResource (HInstance, 'Bitmap_1', 'BITMAP') <> 0 then begin // Variante 2 funktioniert nicht !!
ms := TResourceStream.create (hInstance, 'Bitmap_1', 'BITMAP'); // (auch mit RT_BITMAP als Type-Qualifizierer nicht)
Image1.Picture.Bitmap.LoadFromStream (ms);
ms.Free;
end;
end;
Es handelt sich um eine
VCL-32-Bit Anwendung unter XE5, Windows 7, 64 Bit. Ich habe zuvor unter Menü Projekt, Resourcen und Bilder eine Bitmap-Datei hinzugefügt, als Typ wird im Resourcen-Dialog auch "BITMAP" aufgeführt und als Bezeichner "Bitmap_1".
Die Resource wird auch in die Exe gelinkt, habe ich mit einem Resource-Viewer kontrolliert, klappt schließlich ja auch in der ersten Variante.