Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизФайлы ресурсов для компонентов Найти похожие ветки
← →
far © (2004-07-14 00:03) [0]Мое почтение, уважаемые.
Не подскажите ли коим образом компонент может вытащить битмэп из файла ресурсов компонента *.dcr? B вообще можно ли в этот файл впихнуть какие-нибудь ресурсы, кроме иконки компонета? (То есть, впихнуть то конечно можно, но есть ли механизм доставания их оттуда?)
← →
Алхимик © (2004-07-14 00:26) [1]Непременно из *.dpr надо?
Я не заморачиваясь делаю ещё один(много) файл ресурсов.
← →
far © (2004-07-14 11:52) [2]Разумно...
Меня интересует, как потом можно сослаться на ресурсы из этих файлов в коде компонента?
Проблема у меня в том, что я не знаю, как мне сослаться именно на мой файл ресурсов. Если речь идет о файле ресурсов приложения *.res, то вытащить ресурс в приложении можно, сославшись на экземпляр приложения:
LoadFromResourceName(Instance: THandle; const ResName: string);
Это мне понятно.
Но если я делаю компоненту с ее собственным файлом ресурсов, то что мне указать в процедуре LoadFromResourceName вместо hInstance?
← →
Reindeer Moss Eater © (2004-07-14 11:55) [3]А зачем помещать ресурс компонента в рантайм пакет, если его место в design time пакетах?
← →
Reindeer Moss Eater © (2004-07-14 11:57) [4]Если нужны ресурсы иные нежели битмат компонента в палитре ide, то логично иметь отдельный файл ресурса.
← →
far © (2004-07-14 12:35) [5]>Reindeer Moss Eater © (14.07.04 11:57) [4]
>Если нужны ресурсы иные нежели битмат компонента в палитре ide, >то логично иметь отдельный файл ресурса.
Хорошо, как этот файл использовать в приложении? Думаю вставлять в код основного приложения директиву {$R} будет не очень красиво :)
← →
Reindeer Moss Eater © (2004-07-14 12:38) [6]Думаю вставлять в код основного приложения директиву {$R} будет не очень красиво :)
Какие-то извращенные понятия о красоте.
А как это вообще относится к теме?
Не хочешь директивы - редактируй свой готовый exe редактором ресурсов после каждой сборки приложения.
Вот красота тогда будет страшная. Спасет и мир и тебя.
← →
Reindeer Moss Eater © (2004-07-14 12:40) [7]Заодно погрохай все директивы
{$R *.dfm}
← →
Юрий Зотов © (2004-07-14 12:56) [8]> far © (14.07.04 11:52) [2]
> Но если я делаю компоненту с ее собственным файлом ресурсов,
> то что мне указать в процедуре LoadFromResourceName вместо
> hInstance?
Именно HInstance и указывайте. Это получится хэндл либо пакета, либо приложения - но в любом случае это и будет нужный хэндл.
Посмотрите, как использует ресурсы TBitBtn. Там Вы найдете и директиву {$R Buttons.res}, и код загрузки строк и картинок.
← →
far © (2004-07-14 13:12) [9]>Reindeer Moss Eater © (14.07.04 12:38) [6]
>Какие-то извращенные понятия о красоте.
>А как это вообще относится к теме?
>Не хочешь директивы - редактируй свой готовый exe редактором >ресурсов после каждой сборки приложения.
>Вот красота тогда будет страшная. Спасет и мир и тебя.
А что, логично юзеру, пользуясь компонентами, думать еще и о ресурсных файлах, которые компоненты используют, и прописывать их директивами в своей проге?
← →
Reindeer Moss Eater © (2004-07-14 13:13) [10]У тебя что, юзеры исходники пишут?
← →
Reindeer Moss Eater © (2004-07-14 13:15) [11]Аааааааа! Понял.
Все равно.
Не смешивай ресурсы битмапов нужные для IDE и ресурсы которые требуются в рантайме.
Компилируй их в разные пакеты.
← →
Reindeer Moss Eater © (2004-07-14 13:27) [12]У меня например dcr компонента включен в модуль содержащий только процедуру Register и компилирующийся в design пакет.
А res c иконками для панели индикатора включен в файл с определением класса компонента.
← →
far © (2004-07-14 14:28) [13]Да, похоже, что это верно. Все начало работать.
Спасибо, Reindeer Moss Eater. Ты понял в чем проблема, хотя я даже не смог правильно поставить вопрос :)
А я же грешным делом подумал, что раз LoadFromResourceName не видит ресурса в runtime, значит надо как-то по другому его в пакет включать, или как-то по другому к ресурсу обращаться :)
Спасибо всем.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.033 c