Только не путать с иконками для приложений, возможно, они будут встроены в приложения в качестве ресурсов(но ответ так и не был получен http://board.kolibrios.org/viewtopic.ph ... 626#p71332).
От себя могу предложить такой вариант:
- Иконки хранятся в са́мой обыкновенной динамической библиотеке
Файлы иконок включаются туда при компиляции ассемблерной директивой file.
Как и в обычной библиотеке будет храниться массив структур по 2 dword-а, только вместо "имя процедуры, адрес процедуры" будет так "имя иконки, адрес иконки".
Получить адрес с помощью GetIconAddress(по сути то же, что и GetProcAddress).
Например:
Code: Select all
hIconLib = LoadLibrary('icons.obj')
pdf16_icon = GetIconAddress(hIconLib, 'pdf16')
pdf32_icon = GetIconAddress(hIconLib, 'pdf32')
Из очевидных плюсов:
- Если библиотека уже загружена, то грузить её не надо, просто вернётся указатель.
Удобно добавлять файлы в библиотеку.
Доступ по конкретному имени, а не по номеру.