Створення і використання тільки ресурсів в dll
Крім зберігання ресурсів всередині .EXE файлу, розробник Delphi може також створити динамічну бібліотеку, яка містить тільки ресурси. Давайте подивимося, як це зробити.
Ресурси можуть бути стандартні і визначені користувачем. Дані в стандартному ресурсі описують іконку, курсор, меню, діалогове вікно, точковий малюнок, розширений метафайл, шрифт, таблицю гарячих клавіш, рядки і версію. Певний користувачем ресурс може містити будь-які дані, необхідні додатком (інший .EXE, GIF, MP3 і т.д.).
Динамічні бібліотеки містять загальний код або ресурси, які можуть використовуватися багаторазовими додатками спільно.
Створення DLL з ресурсами
Щоб зробити DLL тільки з ресурсами, потрібно створити і скомпілювати проект порожній DLL. яка містить посилання на файл ресурсів .RES. який містить Ваші ресурси.
Потім виконати наступні кроки:
- Створіть RC файл, що описує ресурси, які Ви хочете помістити в DLL. Як в прикладі: (adpdllresources - ім'я RC файлу ASCII) - один ICON і один GIF доданий в RC файл:
- Скомпілюйте RC файл в RES файл за допомогою компілятора ресурсів BRCC32
- Створіть проект порожній DLL. Збережіть його як adpResources.dpr - після компіляції DLL буде мати ім'я adpResources.dll. Повний код проекту DLL буде мати всього чотири рядки в одному файлі.
- Відкомпілюйте Ваш DLL (переконайтеся, що adpdllresources.res знаходиться в тому ж каталозі, що і проект DLL
Як тільки DLL з ресурсами буде створений, Ви можете використовувати його всередині Ваших додатків Delphi. Зверніть увагу, що ці ресурси всередині DLL може використовувати будь-який додаток (не обов'язково Delphi).
Як використовувати ресурси з DLL
Щоб використовувати ресурси з динамічної бібліотеки, просто завантажте DLL і ресурси, які Ви хочете використовувати.
Дотримуйтесь цих кроків:
- Створіть новий проект Delphi. За замовчуванням, Delphi додає одну форму до проекту. збережіть проект
- Скопіюйте DLL з ресурсами (adpResources.dll в папку, де Ваше новий додаток було збережено
- Завантажте ресурс, як показано нижче.
Приклад, як завантажити іконку factory і намалювати її на полотні Form1. коли Button1: TButton була натиснута).
Якщо Ви додасте підтримку GIF. Ви можете використовувати зображення GIF. збережене в ресурсному DLL. а також його малювати: