Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Назначение: Объявляет вызываемые последовательности внешних процедур, написанных на других языках программирования семейства Microsoft.
Синтаксис 1:
DECLARE FUNCTION < имя> [CDECL] [ALIAS ''< альтернативное имя>''] [ ([ <список параметров> ]) ]
Синтаксис 2
DECLARE SUB < имя> [CDECL] [ALIAS "<альтернативное имя>"] [([ <список параметров> ]) ]
Элемент | Описание |
FUNCTION | Указывает, что внешняя процедура возвращает значение; может использоваться в составе арифметических выражений |
SUB | Указывает, что внешняя процедура вызывается аналогично BASIC-процедуре |
<имя> | Имя, используемое в BASIC-программе для вызова процедуры; длина до 40 символов; имя процедуры-функции может включать маркер типа (%, &,!, #, $) для.возвращаемой величины. |
CDECL | Указывает, что процедура использует порядок размещения аргументов, свойственный языку С; ключевое слово CDECL указывает на передачу аргументов справа налево, а не слева направо, как принято в среде языка BASIC |
ALIAS | Указывает, что процедура имеет другое имя в.OBJ-файле или библиотеке; если отсутствует ключ ALIAS, то имя процедуры отображается строчными буквами, маркер типа удаляется, а в начале имени добавляется символ подчеркивания, и именно это имя используется при поиске библиотек и внешних файлов; если за ключомCDECL следует ключ ALIAS, то используется указанное альтернативное имя. |
Синтаксис аргумента <список параметров>
[ {BYVAL SEG} ] <переменная> [AS <тип>]
[, [ {BYVAL SEG} ] <переменная> [AS <тип>] ]...
Элемент | Описание |
BYVAL | Указывает, что параметр передается значением, а не ссылкой; передача ссылкой принята по умолчанию; ключ можно применять только для числовых параметров типа INTEGER, LONG, SINGLE, DOUBLE; при использовании BYVAL текущий аргумент преобразуется к типу, указанному в операторе DECLARE, непосредственно перед передачей параметра |
SEG | Указывает, что параметр передается адресом сегмента |
<переменная> | Имя, допустимое для переменных языка BASIC; существенным является тип переменной; если переменная - массив, то в скобках можно указать его размерность (в частности, чтобы обеспечить совместимость с прежними версиями языка) |
AS <тип> | Указывает тип переменной: INTEGER, LONG, SINGLE, DOUBLE, STRING, ANY - или имя структуры; можно указывать также и маркер типа (%, &,!, #, $) или принимать его по умолчанию; при объявлении внешних процедур, написанных на других языках, можно указать тип ANY, и это приведет к тому, что проверка типа не выполняется; нельзя использовать тип ANY для аргумента, передаваемого значением |
Если не используются ключи BYVAL и SEG, то аргументы передаются смещением.
Дата публикования: 2014-11-19; Прочитано: 189 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!