Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Файлы ресурсов для компонентов   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.031 c
3-1088742057
Lord
2004-07-02 08:20
2004.07.25
Delphi6 - SQL


1-1089764884
SPeller
2004-07-14 04:28
2004.07.25
COM-сервер на другой машине


3-1088687658
Дем
2004-07-01 17:14
2004.07.25
dbf и sql


3-1088746612
TchertenOk
2004-07-02 09:36
2004.07.25
Как сохранить данные


14-1089112669
КаПиБаРа
2004-07-06 15:17
2004.07.25
Шутка старая, но вводит меня в тупик 2