Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Dll с иконками [D7, D2005, XP]


Страницы:   1 2

Yekver ©   (2007-08-06 10:59:00) 

Вопрос может конечно и глупый, но я никогда не работал с Dll'ками. Мне нужно создать библиотеку с n-числом иконок в ней. Вопрос как их туда добавить?


Yekver   (2007-08-06 12:53:00) [1]

Спасибо всё, получилось....))


Инс   (2007-08-06 12:39:00) [2]


> Я согласен, что если есть несколько приложений, использующих
> одни ресурсы, то их имеет смысл хранить в dll. Но если одно
> из етих приложений являеться основным и в любом случае будет
> присутствовать то можно хранить ресурсы в этом приложении.

С этим утверждением и я согласен, в принципе. Меня категоричность [8] смутила, вот я и комментирую.


ПЛОВ   (2007-08-06 12:37:00) [3]


> Иногда им требуются общие ресурсы. Включать по копии в каждый
> exe? Только опять вы сейчас скажете, что пример надуман,
>  автору нужно другое. Так что, насчет данного сабжа, то
> автор ясно сказал [21]

Автор уже получил ответ. Так что это в продолжение развитой темы :)

Я согласен, что если есть несколько приложений, использующих одни ресурсы, то их имеет смысл хранить в dll. Но если одно из етих приложений являеться основным и в любом случае будет присутствовать то можно хранить ресурсы в этом приложении.


Dib@zol   (2007-08-06 12:33:00) [4]

> [27] ПЛОВ ©   (06.08.07 12:31)

Я не о том. Я про множество длл для одной иконки.


palva   (2007-08-06 12:31:00) [5]


> Yekver   (06.08.07 12:18) [20]

Неправильно. Фактически вы используете пользовательский ресурс ADDITION1, и система не понимает, что это иконка. Кроме того у вас у всех иконок один и тот же идентификатор. Попробуйте так:

123 ICON "1.ICO"
124 ICON "2.ICO"
125 ICON "3.ICO"

Еще может быть, что у вас неправильные форматы иконок.
У меня работает такой вариант.

iiii.rc

131 icon "C:\Program Files\Common Files\Borland Shared\Images\Icons\construc.ico"
132 icon "C:\Program Files\Common Files\Borland Shared\Images\Icons\earth.ico"

iiii.pas

library iiii;
{$R iiii.res}
begin
end.


ПЛОВ   (2007-08-06 12:31:00) [6]


> Теперь докажите логичность вашего "подхода"...

Меньшее количество компонентов. Вместо приложений и dll только приложения.


Инс   (2007-08-06 12:30:00) [7]


> [23] ПЛОВ ©   (06.08.07 12:27)

Не, я не про это. Вы никогда не разрабатывали сложные системы, состоящие из двух, трех и более exe? Иногда им требуются общие ресурсы. Включать по копии в каждый exe?
Только опять вы сейчас скажете, что пример надуман, автору нужно другое. Так что, насчет данного сабжа, то автор ясно сказал [21]


{RASkov}   (2007-08-06 12:29:00) [8]

> [23] ПЛОВ ©   (06.08.07 12:27)

Прекращай безобаснованный спор :) Можно кучей разных способов хранить ресурсы и Dll один из удобных случаев....
:о)


Dib@zol   (2007-08-06 12:28:00) [9]

> Зачем делать ЕЩЕ ОДИН ФАЙЛ если можно успешно обйтись БЕЗ
> НЕГО? Ну тогда можно еще сделать несколько длл для каждой
> иконки...

Кхм. Логичность создания длл вам уже расписали. Теперь докажите логичность вашего "подхода"...


ПЛОВ   (2007-08-06 12:27:00) [10]


> Посмтрел бы я как ПЛОВ подгрузил бы иконку для одного exe
> из другого :) В принципе можно, вот только логично ли..

Зачем делать ЕЩЕ ОДИН ФАЙЛ если можно успешно обйтись БЕЗ НЕГО? Ну тогда можно еще сделать несколько длл для каждой иконки...


Инс   (2007-08-06 12:24:00) [11]


> [19] ПЛОВ ©   (06.08.07 12:18)

Посмтрел бы я как ПЛОВ подгрузил бы иконку для одного exe из другого :) В принципе можно, вот только логично ли...


Yekver   (2007-08-06 12:19:00) [12]


> ПЛОВ ©   (06.08.07 12:18) [19]


Затем что это Miranda IM и там иконки подгружаются из Dll


Yekver   (2007-08-06 12:18:00) [13]


> palva ©   (06.08.07 12:11) [17]


*.rc - файл:

DEFAULT ADDITION1 1.ICO
DEFAULT ADDITION1 2.ICO
DEFAULT ADDITION1 3.ICO



> Dib@zol ©   (06.08.07 12:12) [18]


Да. Только вот его когда открывает Restorator 2007, то в директории иконки он видит только иконку самого Делфи, а мои иконки идут отдельными директориями и отображаются в виде набора букв и цифр, а не картинки :(


ПЛОВ   (2007-08-06 12:18:00) [14]


> Я бы не был так категоричен. Иногда общий ресурс должны
> использовать разные приложения, как в cards.dll, например.
>  Или если картинки или прочие ресурсы нужно обновить в уже
> распространяемой программе, удобно будет просто заменить
> DLL-ку.

Автор спрашивает про иконки а не про "прочие ресурсы". Интересно что за такая программа в которой нужно часто менять иконки? Если это общий ресурс, используемый разными приложениями то наверняка иконки можно было бы разместить в "главном" приложении (если конечно оно есть), зачем клепать для этого dll?


Dib@zol   (2007-08-06 12:12:00) [15]

> Как это правильно реализовать мне тут объяснять?)

Ну так ты ресурсный то файл получил (скомпилировал из *.RC в *.res)?


palva   (2007-08-06 12:11:00) [16]


> Yekver   (06.08.07 12:04) [9]
>
> Так и сделал. Только ресурс делал с помощью компилятора
> BRCC32.exe

Вот это правильно. А строку исходного файла описывающую иконку можете привести?


Dib@zol   (2007-08-06 12:11:00) [17]

> [12] \/iKTOR   (06.08.07 12:08)

С помощью банального битБЛТ. У иконок одинаковая ширина и высота, поэтому для загрузки нужной надо просто помножить номер иконки на высоту линейки и отчекрыжить её из этой линейки в заранее уготовленный битмап.


Yekver   (2007-08-06 12:10:00) [18]


> Инс ©   (06.08.07 12:06) [11]


Именно для этого мне и нужна dll. Как это правильно реализовать мне тут объяснять?)


\/iKTOR   (2007-08-06 12:09:00) [19]

Всмысле средствами делфи их можно создать, и как тогда обращаться к каждой из них в отдельности.


palva   (2007-08-06 12:09:00) [20]

Не очень понятно, что у вас не получается. Файлы иконок у вас имеются? Ресурсный файл Res вам удалось получить? И потом что значит не видны? Вы спрашивали как их туда положить. Тогда подробно расскажите, как вы их собираетесь просматривать или доставать.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо