Delphi 7 -> Невозможно загрузить изображение из файла ресурсов - PullRequest
4 голосов
/ 19 ноября 2010

Я часами просматриваю сеть, использую Google, пытаюсь найти PDF-файлы и до сих пор не могу загрузить ресурс Image в Delphi 7. ..

Мой test.rc файл отправляетсянапример:

1 RT_BITMAP "1.bmp"

Я добавил файл test.rc в свой проект, используя Project-> Add to Project .. , который скомпилировал test.res файл при сборке и, кажется, автоматически включил файл .res в мой проект (поскольку использование {$ R test.res} скажет, что я ужеиспользовать этот ресурс).Я также попытался удалить test.res из проекта, используя Project-> Удалить из проекта .. и вручную добавив {$ R test.res} вмой проект.

Однако, независимо от того, как я включаю файл test.res . Я получаю

Project Project2.exe с повышенным классом исключений EAccessViolation с сообщением'Нарушение прав доступа по адресу 00408D0C в модуле' Project2.exe '.Чтение адреса 00000001 '.Процесс остановлен.Для продолжения используйте Step или Run.

Сначала я использовал

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 Ответ

7 голосов
/ 19 ноября 2010

Я воспроизвел точно такую ​​же проблему в тестовой программе.

Затем я изменил RT_BITMAP на BITMAP, перекомпилировал RC и протестировал.

Работает.

...