Главная страница
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.04 c
4-1086984795
alienserg
2004-06-12 00:13
2004.07.25
Synchronize внутри DLL. Пытаюсь рисовать из треда на форме.


4-1087289408
sashok
2004-06-15 12:50
2004.07.25
Как узнать цвет точки под мышкой?


14-1089016204
Off
2004-07-05 12:30
2004.07.25
Алгоритм гирлянды.


14-1088768593
AlexG
2004-07-02 15:43
2004.07.25
Кто может объяснить, что это за ошибка?


6-1085400317
empty
2004-05-24 16:05
2004.07.25
Проблема с постом сообщений по TTcpSocket в D7