Разработка приложений в системе Delphi. Шейкер Т.Д. - 153 стр.

UptoLike

Составители: 

будущем. Однако разрабатываемое приложение должно быть приспособлено к
работе с новыми версиями форматов. При использовании динамических
библиотек поддержка нового формата сводится к написанию DLL и
распространению её среди пользователей, которым она может потребоваться. В
этом случае в exe-файл включается инструкция о том, где программа должна
искать необходимый код.
Динамические библиотеки могут экспортировать только процедуры и
функции. Описанные в них типы, константы, массивы и другие языковые
конструкции предназначены исключительно для внутреннего использования. В
DLL рекомендуется помещать процедуры и функции, реализующие
дополнительные возможности программы.
Как и любая программа DLL компилируется совместно с модулем
System,
что позволяет определить ссылку на экземпляр DLL через переменную
HInstance и передать ссылку тем функциям, которые ожидают её в качестве
параметра. При обращении к DLL включается счётчик (
Hprevinst) и при
каждом новом обращении счетчик увеличивается на единицу. DLL не
выгружается из памяти до тех пор, пока значение счётчика не станет равным
нулю.
Проблем с поиском DLL не возникает, если DLL и исполняемый файл
программы располагаются в одном каталоге. Если программы, использующие
DLL, находятся в разных каталогах, то целесообразно поместить DLL в каталог,
просматриваемый
Windows по умолчанию при загрузке DLL. Windows ищет
DLL в следующих местах и в следующем порядке:
каталог, из которого было загружено приложение;
текущий каталог;
системный каталог Windows;
только для Windows NT: системный каталог 16-разрядной Windows;
каталог Windows;
каталоги, перечисленные в переменной окружения PATH.
153
будущем. Однако разрабатываемое приложение должно быть приспособлено к
работе с новыми версиями форматов. При использовании динамических
библиотек поддержка нового формата сводится к написанию DLL и
распространению её среди пользователей, которым она может потребоваться. В
этом случае в exe-файл включается инструкция о том, где программа должна
искать необходимый код.
    Динамические библиотеки могут экспортировать только процедуры и
функции. Описанные в них типы, константы, массивы и другие языковые
конструкции предназначены исключительно для внутреннего использования. В
DLL     рекомендуется    помещать   процедуры   и   функции,   реализующие
дополнительные возможности программы.
    Как и любая программа DLL компилируется совместно с модулем System,
что позволяет определить ссылку на экземпляр DLL через переменную
HInstance и передать ссылку тем функциям, которые ожидают её в качестве
параметра. При обращении к DLL включается счётчик (Hprevinst) и при
каждом новом обращении счетчик увеличивается на единицу. DLL не
выгружается из памяти до тех пор, пока значение счётчика не станет равным
нулю.
    Проблем с поиском DLL не возникает, если DLL и исполняемый файл
программы располагаются в одном каталоге. Если программы, использующие
DLL, находятся в разных каталогах, то целесообразно поместить DLL в каталог,
просматриваемый Windows по умолчанию при загрузке DLL. Windows ищет
DLL в следующих местах и в следующем порядке:
    • каталог, из которого было загружено приложение;
    • текущий каталог;
    • системный каталог Windows;
    • только для Windows NT: системный каталог 16-разрядной Windows;
    • каталог Windows;
    • каталоги, перечисленные в переменной окружения PATH.


                                     153