Статический импорт

Импорт из DLL может проводиться по имени процедуры (функции), порядковому номеру или с присвоением другого имени.

При статическом импорте все действия по загрузке и подключению библиотеки выполняются автоматически операционной системой во время запуска главной программы. Чтобы задействовать статический импорт, достаточно просто объявить в программе процедуры и функции библиотеки как внешние. Это делается с помощью директивы external, например:

// вызов по имени

procedureBubleSortIntegers (varArr: arrayofInteger); stdcall;

external 'SortLib.dll';

procedure QuickSort(var Arr: array of Integer); stdcall;

external 'SortLib.dll';

procedure HelloWorld(AForm : TForm); stdcall;

external 'SortLib.dll';

После ключевого слова external записывается имя двоичного файла библиотеки в виде константной строки или константного строкового выражения.

Если вы хотите изменить имя импортируемой функции (процедуры), то можно использовать директиву name, которая служит для явного указания экспортного имени процедуры в библиотеке. С ее помощью объявления процедур можно переписать по-другому:

 

// присвоением другого имени внешней процедуре

procedure QuickSort(var Arr: array of Integer); stdcall;

external 'SortLib.dll' name 'QuickSortIntegers';

Импорт по порядковому номеру требует от вас указание этого самого номера:

procedure SayHelloWorld(AForm : TForm);

external 'myfirstdll.dll' index 15;

В этом случае имя, которое вы даете процедуре при импорте не обязательно должно совпадать с тем, которое было указано для нее в самой DLL. Т.е. приведенная выше запись означает, что вы импортируете из динамической библиотеки myfirstdll.dll процедуру, которая в ней экспортировалась пятнадцатой, и при этом в рамках вашего приложения этой процедуре дается имя SayHelloWorld.

Поместив в программу приведенные выше объявления, можно вызывать процедуры BubleSort, QuickSort и HelloWorld, как будто они являются частью самой программы.

Var Arr: array [0..9] of Integer;

I: Integer;

Begin








Дата добавления: 2015-09-07; просмотров: 1002;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.