Delphi: «Ресурс не найден» в режиме разработки - почему? - PullRequest
3 голосов
/ 02 марта 2011

Я получил ошибку, и я не знаю, почему я ее получил ...

Итак: у меня есть новый компонент, основанный на sAlphaButton.У него есть свойство ImageList, и мой компонент расширяет эту кнопку своими собственными надписями / изображениями, переведенными на венгерский язык.

Я использовал LoadRes для получения предопределенных изображений.1008 *

Хорошо работает, когда я использую его из кода.Но когда я зарегистрировал его и попытался ввести в форму, я получил ошибку:

Ошибка Resource scrollpngbutton_ok not found.ОК

Я не понимаю этого, потому что я поставил {$ R * .res}, и из кода это работает.Почему Ресурс не найден?Создание не удалось или что?

Хорошо, я могу использовать Loaded;чтобы установить изображения во время разработки, но Loaded не вызывается во время выполнения.

1 Ответ

11 голосов
/ 02 марта 2011

Вы не можете использовать * .res. Это файл, сгенерированный IDE, который соответствует DFM / единице, которой соответствует его имя.

Создайте свой собственный файл ресурсов (вы можете создать его в виде текстового файла) и скомпилировать его самостоятельно (или пусть IDE сделает это за вас, если вы используете Delphi 7 или выше).

/* YourResources.rc */
SCROLLPNGBUTTON  BITMAP MyBitmap.bmp

В вашем источнике:

{$R YourResources.res YourResources.rc}  // The IDE will compile .rc to make .res
...