Свойство LastDLLError возвращает системный код ошибки, возникшей при вызове библиотеки динамической компоновки (DLL). Это свойство доступно только для чтения, применимо только при вызовах в программах Visual Basic библиотек динамической компоновки (DLL). После вызова библиотеки вызываемая функция обычно возвращает код, свидетельствующий об успешном или неудачном выполнении, и заполняет значение свойства LastDLLError. Для того чтобы получить список возвращаемых значений и их описание, следует обратиться к документации по функциям DLL. В любом случае возвращения кода неудачного вызова в приложение, использующее Visual Basic, необходимо немедленно проверить значение свойства LastDLLError.
Псевдонимы целесообразно использовать в некоторых случаях для вызова функций API. Например:
– При использовании функций API с именами, в которых присутствуют символы, недопустимые для использования в названиях функций VBA.
– При использовании пользовательских нестандартных описателей.
– При использовании функций работы со строками, чтобы подчеркнуть, когда используется набор символов ANSI (тогда к имени функции добавляется суффикс ‘A’), а когда – Unicode (добавляется суффикс ‘W’).
Некоторые функции Win32 API используют стандартные константы. Использование имен этих констант, а не конкретных значений, гарантирует правильность работы программы при изменениях в Win32 API. Приложение API Viewer, входящее в комплект поставки Microsoft Office, позволяет скопировать в модуль VBA описания подобных констант.
В именах параметров функций Win32 API используются стандартные префиксы, принятые в С/С++:
– lp – указатель на переменную, обычно на строку (в VBA используется строковая переменная);
– n – число (в VBA используется переменная типа Integer);
– dw – двойное слово без знака (в VBA используется тип Long);
– w – слово без знака (в VBA используется тип Integer);
– h – дескриптор (в VBA используется тип Long);
– u – целое без знака (в VBA используется переменная типа Integer).
При установлении соответствия между типами, используемыми в С/С++ и типами, поддерживаемыми в VBA, могут производиться преобразования.
Более подробную информацию о средствах работы с DLL для конкретных приложений можно посмотреть в справочной системе.