Створення і використання тільки ресурсів в dll

Крім зберігання ресурсів всередині .EXE файлу, розробник Delphi може також створити динамічну бібліотеку, яка містить тільки ресурси. Давайте подивимося, як це зробити.

Ресурси можуть бути стандартні і визначені користувачем. Дані в стандартному ресурсі описують іконку, курсор, меню, діалогове вікно, точковий малюнок, розширений метафайл, шрифт, таблицю гарячих клавіш, рядки і версію. Певний користувачем ресурс може містити будь-які дані, необхідні додатком (інший .EXE, GIF, MP3 і т.д.).

Динамічні бібліотеки містять загальний код або ресурси, які можуть використовуватися багаторазовими додатками спільно.

Створення DLL з ресурсами

Щоб зробити DLL тільки з ресурсами, потрібно створити і скомпілювати проект порожній DLL. яка містить посилання на файл ресурсів .RES. який містить Ваші ресурси.

Потім виконати наступні кроки:

  1. Створіть RC файл, що описує ресурси, які Ви хочете помістити в DLL. Як в прикладі: (adpdllresources - ім'я RC файлу ASCII) - один ICON і один GIF доданий в RC файл:
  2. Скомпілюйте RC файл в RES файл за допомогою компілятора ресурсів BRCC32
  3. Створіть проект порожній DLL. Збережіть його як adpResources.dpr - після компіляції DLL буде мати ім'я adpResources.dll. Повний код проекту DLL буде мати всього чотири рядки в одному файлі.
  4. Відкомпілюйте Ваш DLL (переконайтеся, що adpdllresources.res знаходиться в тому ж каталозі, що і проект DLL

Як тільки DLL з ресурсами буде створений, Ви можете використовувати його всередині Ваших додатків Delphi. Зверніть увагу, що ці ресурси всередині DLL може використовувати будь-який додаток (не обов'язково Delphi).

Як використовувати ресурси з DLL

Щоб використовувати ресурси з динамічної бібліотеки, просто завантажте DLL і ресурси, які Ви хочете використовувати.

Дотримуйтесь цих кроків:

  1. Створіть новий проект Delphi. За замовчуванням, Delphi додає одну форму до проекту. збережіть проект
  2. Скопіюйте DLL з ресурсами (adpResources.dll в папку, де Ваше новий додаток було збережено
  3. Завантажте ресурс, як показано нижче.

Приклад, як завантажити іконку factory і намалювати її на полотні Form1. коли Button1: TButton була натиснута).

Якщо Ви додасте підтримку GIF. Ви можете використовувати зображення GIF. збережене в ресурсному DLL. а також його малювати: