Иллюстрированный самоучитель по Delphi 7 для профессионалов

Ресурсы в DLL

Затем вы можете добавить к библиотеке ресурсов собственные файлы. Это могут быть ресурсы любого рода, используемые приложением. В окне мастера (рис. 28.5) необходимо выбрать эти файлы.

В последующих диалогах мастера задается способ создания или обновления для каждого языкового ресурса и запускается процесс создания ресурса. При первоначальном создании DLL ресурсы можно только создавать, впоследствии их можно полностью перезаписывать или изменять.

Иллюстрированный самоучитель по Delphi 7 для профессионалов › Динамические библиотеки › Ресурсы в DLL
Рис. 28.5. Диалог мастера библиотеки ресурсов для включения в проект дополнительных файлов

По завершении работы мастера для каждого выбранного языка создается новый проект библиотеки ресурсов. Результат работы мастера выводится в информационном окне (рис. 28.6).

Иллюстрированный самоучитель по Delphi 7 для профессионалов › Динамические библиотеки › Ресурсы в DLL
Рис. 28.6. Окно с информацией о результате создания ресурса

Каждый созданный проект необходимо откомпилировать и включить в состав дистрибутива базового приложения.

Использование модуля ShareMem

Если динамическая библиотека в процессе работы использует переменные или функции, осуществляющие динамическое выделение памяти под собственные нужды (длинные строки, динамические массивы, функции New и GetMem), а также, если такие переменные передаются в параметрах и возвращаются в результатах, то в таких библиотеках обязательно должен использоваться модуль ShareMem. При этом в секции uses модуль должен располагаться на первом месте. Об этом напоминает комментарий, автоматически добавляемый в файл динамической библиотеки при создании (см. листинг 28.1).

Управление этими операциями осуществляет специальный диспетчер печати BORLANDMM.DLL. Он должен распространяться вместе с динамическими библиотеками, использующими модуль ShareMem.

Резюме

Динамические библиотеки широко используются в ОС Windows. При их применении исполняемые файлы приложений становятся существенно меньше. К одной динамической библиотеке могут обращаться несколько программ одновременно. При этом динамические библиотеки могут использовать весь арсенал программных средств Delphi.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.