我在网络上花了数小时,使用谷歌搜索,尝试着寻找PDF文档,但仍然无法在Delphi 7中加载图像资源...
我的test.rc文件如下:
1 RT_BITMAP "1.bmp"
我使用了“项目 -> 添加到项目...”将test.rc文件添加到我的项目中,这在构建时编译了一个test.res文件,并似乎自动将.res文件包含到了我的项目中(因为使用{$R test.res}会提示我已经使用了该资源)。我还尝试使用“项目 -> 从项目中删除...”手动删除test.res文件,然后在我的项目中手动添加{$R test.res}。
但是,无论我如何包含test.res文件,都会出现以下错误:
首先,我使用的是:Project Project2.exe raised exception class EAccessViolation with message 'Access violation at address 00408D0C in module 'Project2.exe'. Read of address 00000001'. Process stopped. Use Step or Run to continue.
Image1.Picture.Bitmap.LoadFromResourceID(hInstance,1);
因为这是我在使用谷歌时发现的。我遇到了以下错误。 稍后,我尝试了:
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文件就不会被篡改...
非常感谢您的帮助!
IDB_BLUBB BITMAP DISCARDABLE "Blubb.bmp"
这样的行,即资源类型为BITMAP
而不是RT_BITMAP
。也许这就是罪魁祸首。 - Uli Gerhardt