Access 2002

Номер функции


Выяснив номер функции (он указывается в виде десятеричного числа), можно задать его в предложении Alias вместо имени, предварив символом #, как в следующем примере:

Любую функцию можно объявить по ее номеру, но если функция экспортируется по имени, мы рекомендуем использовать имя. Это особенно важно в тех случаях, когда DLL писали не вы и предполагается использовать также следующие ее версии. Автор библиотеки может посчитать, что никто не станет вызывать функцию по номеру, если у нее есть имя, и изменить нумерацию, сохранив только имена своих функций.

Назначение уникальных имен процедурам, объявляемым в библиотеке Access

Все функции, объявленные в одной области определения, должны иметь уникальные имена. Это не такое уж страшное ограничение, поскольку едва ли вам захочется одинаково назвать две разные функции или поместить в приложение или библиотеку две копии одной и той же функции. Однако если вы разрабатываете библиотечную базу данных, которая будет использоваться многими приложениями, и из этой библиотеки вызываются функции DLL (включая вызовы Windows API), вопрос уникальности их имен становится важным.

Предположим, например, что ваша библиотека содержит вызовы функции Windows API GetComputerName. Если вы объявите ее как Public без псевдонима, VBA будет использовать для нее имя GetComputerName. Если пользователю вашей библиотеки тоже понадобится эта функция и он также объявит ее в своем приложении как Publ i с без псевдонима, его имя будет конфликтовать с вашим. Чтобы избежать таких проблем и не заставлять пользователей напрягаться и выяснять, в чем дело, можно назначать псевдонимы всем функциям Windows API, объявляемым в библиотеках Access как Public. Например, функцию GetComputerName можно объявить так:

Приставка MYLI В_ гарантирует, что имя вашей функции будет уникальным и пользователь может свободно объявлять функцию GetComputerName как ему удобно.

Удаление окончания «А», предусмотренного стандартом ANSI-вызовов для Windows API

С помощью предложения Alias можно назначить функции любое синтаксически допустимое имя.

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