Delphi 7 - >无法从资源文件加载图像

时间:2010-11-19 08:01:35

标签: delphi image resources bitmap delphi-7

我一直在网上看几个小时,使用谷歌,尝试使用PDF但仍然无法使用 在Delphi 7中加载Image资源..

我的 test.rc 文件是这样的:

1 RT_BITMAP "1.bmp"

我已将 test.rc 文件添加到我的项目中,使用项目 - >添加到项目.. ,编译 test.res 文件构建并且似乎已自动将 .res 文件包含到我的项目中(因为使用 {$ R test.res} 会说我已经使用了该资源)。我还尝试使用项目 - &gt;从项目中删除从项目中删除 test.res 并手动添加 {$ R test.res} < / strong>到我的项目。

但无论我如何包含 test.res 文件。

  

Project Project2.exe引发异常   带有消息的EAccessViolation类   '地址00408D0C的访问冲突   在模块'Project2.exe'中。阅读   地址00000001'。流程停止了。   使用步骤或运行继续。

在First我用过

Image1.Picture.Bitmap.LoadFromResourceID(hInstance,1);

因为这是我用Google发现的。我收到了这个错误。 后来我试过

procedure TForm1.Image1Click(Sender: TObject);
var bBitmap : TBitmap;
begin

 bBitmap := TBitmap.Create;
 try

  bBitmap.Handle := LoadBitmap(hInstance, '1');
  Image1.Width := bBitmap.Width;
  Image1.Height := bBitmap.Height;
  Image1.Canvas.Draw(0,0,bBitmap);
 finally

  bBitmap.Free;
end;


end;

这没有给我带来任何错误,也没有显示图片所以问题仍未解决..

我是使用资源的新手但我必须在发布项目之前将一些图像加载到资源中,以便 .BMP 文件不会被调整...

任何帮助都将受到高度赞赏!

1 个答案:

答案 0 :(得分:7)

我在测试程序中重现了同样的问题。

然后我将RT_BITMAP更改为BITMAP,重新编译RC并进行测试。

有效。