Access 2002

Имя DLL-функции


Если же имя исходной функции этим правилам не соответствует, нужно использовать псевдоним. Кроме того, имя DLL-функции может совпасть с одним из ключевых слов VBA либо именем одной из глобальных переменных или функций вашего приложения, и тогда без псевдонима также не обойтись.

Например, в VBA не допускаются имена функций, начинающиеся с подчеркивания. Если вам понадобится функция Windows API _1 write, объявить ее придется так:

Хотя функция Jwrite по-прежнему имеется в Win32, она осталась только для совместимости с 16-раз- рядной Windows. Вместо нее следует использовать функцию WriteFile. Мы же упомянули здесь о Jwrite только в демонстрационных целях.

Изменение регистра символов в имени процедуры

Имя процедуры, объявляемое в операторе Decl are, зависит от регистра символов. Это значит, что имя процедуры должно быть набрано в точности так, как оно указано в DLL. Если же вы хотите заменить в своих вызовах этой процедуры большие буквы на маленькие или наоборот, воспользуйтесь предложением Alias. В 16-разрядном коде регистр символов не имел значения. Поэтому, если вам придется переносить в свои приложения старый код, проверьте, правильно ли в нем набраны имена.

Назначение имен процедурам, имеющим только порядковые номера

Каждой функции в DLL назначен номер (называемый ordinal), и хотя она может обладать еще и именем, последнее не обязательно. Не все имеющиеся в DLL функции предназначены для вызова их извне DLL. Программист сам решает, какие из функций предоставить пользователям, их называют экспортируемыми (exposed).

Чтобы вызвать функцию по ее номеру, нужно этот номер узнать. Обычно такая информация имеется в документации или DEF-файле DLL. Можно обратиться и к специальной утилите, которая заглянет внутрь DLL и сообщит вам о ее содержимом.

Комментарии закрыты