kłopoty z zasobami

0

Dlaczego znika image gdy ładuje bitmape z zasobów porgramu kod wygląda tak:

procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image1.Picture.Bitmap.Handle := LoadBitmap(HInstance, 'New');
end;

Bitmapa w zasobach nazywa sie New
Delphi kompiluje normalnie bez żadnych problemów zasoby i program, co jest?

0

zapisuj ta bitmape na dysk (np do %Windows%/Temp) potem laduj

0

ee .. - pokombinuj z TResourceStream;

Nie jestem pewien czy zadziała:

var
 Res: TresourceStream;
begin
  Res := TResourceStream.Create(hinstance, 'NEW', RT_RCDATA);
  Image1.Picture.Graphic.LoadFromStream(Res);
  //...
end;

Aha, nazwy tych zasobów muszą być chyba z wielkiej litery.

0
Deti napisał(a)

Aha, nazwy tych zasobów muszą być chyba z wielkiej litery.

Tak, same wielkie litery. A zamiast

Res := TResourceStream.Create(hinstance, 'NEW', RT_RCDATA);

powinno być chyba

Res := TResourceStream.Create(hinstance, 'NEW', RT_BITMAP);
0

można też tak:

Image1.Picture.Bitmap.LoadFromResourceName(hInstance, 'NEW')

i działa bez problemu :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0