Ресурс png не найден - PullRequest
       23

Ресурс png не найден

0 голосов
/ 26 июня 2011

я создаю png файл с именем glyfs.rc
GLYF_CONFEDITOR RCDATA confeditor.png<br> GLYF_EXTRAFE RCDATA extrafe.png<br> .......

я добавляю его в свой проект.
Поместите TsBitBtn (это класс компонента alphaskin ) и попробуйте загрузить глиф из файла ресурсов. sbitbtn1.Glyph.LoadFromResourceName(HInstance,'GLYF_CONFEDITOR');
при запуске я получаю файл с ошибкой с именем 'GLYF_CONFEDITOR' не найден.

Что я делаю не так?

Трехсторонний инструмент, который я использую для png, - это pngdelphi, скачанный с здесь
Но sbitbtn загружает собственные файлы png ...

1 Ответ

5 голосов
/ 26 июня 2011

Есть несколько проблем с вашим кодом:

  • TBitBtn.Glyph имеет тип TBitmap, а TBitmap.LoadFromResourceName предполагает RT_BITMAP тип ресурса, а не RT_RCDATA, следовательно, "ресурс не найден«ошибка.
  • Даже если вы используете RT_BITMAP, он выдаст EInvalidGraphic или подобное», потому что снова - TBitBtn.Glyph равно TBitmap и, естественно, TBitmap не будет загружать данные PNG.

¹За LoadFromResourceName стоит функция WinAPI LoadImage, реальное сообщение об ошибке может отличаться.

...