Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-1088686069
Plt
2004-07-01 16:47
2004.07.25
Выполнение запроса с помощью TOracleQuery (DOA) в потоке.


10-1023429581
Starter
2002-06-07 09:59
2004.07.25
Связь клиента с сервером с разных ОС


14-1089226754
oblom
2004-07-07 22:59
2004.07.25
помогите найти работу в Донецке


1-1089785687
hgd
2004-07-14 10:14
2004.07.25
Как управлять программой голосом?


1-1089268231
glGLU
2004-07-08 10:30
2004.07.25
save





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский