Ресурсы в DLL
Затем вы можете добавить к библиотеке ресурсов собственные файлы. Это могут быть ресурсы любого рода, используемые приложением. В окне мастера (рис. 28.5) необходимо выбрать эти файлы.
В последующих диалогах мастера задается способ создания или обновления для каждого языкового ресурса и запускается процесс создания ресурса. При первоначальном создании DLL ресурсы можно только создавать, впоследствии их можно полностью перезаписывать или изменять.
Рис. 28.5. Диалог мастера библиотеки ресурсов для включения в проект дополнительных файлов
По завершении работы мастера для каждого выбранного языка создается новый проект библиотеки ресурсов. Результат работы мастера выводится в информационном окне (рис. 28.6).
Рис. 28.6. Окно с информацией о результате создания ресурса
Каждый созданный проект необходимо откомпилировать и включить в состав дистрибутива базового приложения.
Использование модуля ShareMem
Если динамическая библиотека в процессе работы использует переменные или функции, осуществляющие динамическое выделение памяти под собственные нужды (длинные строки, динамические массивы, функции New и GetMem), а также, если такие переменные передаются в параметрах и возвращаются в результатах, то в таких библиотеках обязательно должен использоваться модуль ShareMem. При этом в секции uses модуль должен располагаться на первом месте. Об этом напоминает комментарий, автоматически добавляемый в файл динамической библиотеки при создании (см. листинг 28.1).
Управление этими операциями осуществляет специальный диспетчер печати BORLANDMM.DLL. Он должен распространяться вместе с динамическими библиотеками, использующими модуль ShareMem.
Резюме
Динамические библиотеки широко используются в ОС Windows. При их применении исполняемые файлы приложений становятся существенно меньше. К одной динамической библиотеке могут обращаться несколько программ одновременно. При этом динамические библиотеки могут использовать весь арсенал программных средств Delphi.