Документация по Clarion


Прототипы ПРОЦЕДУР и ФУHКЦИЙ - часть 2


Изменение значения переменной в "вызванной" ПРОЦЕДУРЕ или ФУНКЦИИ изменяет значение самой переменной, а не ее копии. Параметры-переменные представлены в списке типами данных со звездочкой (*) в прототипе ПРОЦЕДУРЫ или ФУНКЦИИ в MAP. Допустимые типы параметров-переменных:

*BYTE *SHORT *USHORT *LONG *ULONG *SREAL *REAL
*DATE *TIME *STRING *PSTRING *CSTRING *GROUP

Параметры-указатели передают имя структуры данных "вызванной" ПРОЦЕДУРЕ или ФУНКЦИИ. Передача указателя позволяет "вызванной" ПРОЦЕДУРЕ или ФУНКЦИИ использовать те команды Кларион, которые требуют метку структуры как параметр. Параметры-указатели представлены в списке типом указатель в прототипе ПРОЦЕДУРЫ или ФУНКЦИИ в MAP. Параметры-указатели всегда "передаются по адресу." Допустимые типы параметров-указателей:

FILE KEY INDEX QUEUE SCREEN
REPORT
PULLDOWN

FUNCTION должна ВОЗВРАЩАТЬ (RETURN) значение. Тип данных который нужно возвратить внесен в список, отделяется запятой, после необязательного списка параметров. Допустимые типы результатов, возвращаемых функцией:

BYTE SHORT USHORT LONG ULONG
SREAL
REAL DATE TIME STRING

Вы можете, но не обязаны, указать способ передачи параметров - C или ПАСКАЛЬ для вашей ПРОЦЕДУРЫ или ФУНКЦИИ. Это обеспечивает совместимость библиотеками написанными на других языках. Если вы не указываете тип соглашения о вызове, по умолчанию используется внутреннее, основанное на регистрах соглашение.
Признак RAW позволяет вам передавать только адрес памяти СТРОКИ или ГРУППЫ, либо как параметр-значение, либо как параметр-переменную. Обычно, параметры STRING или GROUP передают адресату(?) еще и длину строки. Признак RAW подавляет передачу длины. Это наиболее полезно для функций внешних библиотек, которые ожидают получить только адрес строки.
Признак NAME обеспечивает внешнее имя для ПРОЦЕДУРЫ или ФУНКЦИИ. Это также сделано для совместимости с библиотеками написанными на других языках. Например: В некоторых компиляторах языка C, при C-шном соглашении о вызове заданном для функции, компилятор добавляет подчеркивание к имени функции.


- Начало -  - Назад -  - Вперед -



Книжный магазин