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

         

NAME (указать внешнее имя)



NAME([ constant

variable
]




constant Строковая константа.
variable Метка STRING-переменной,
описанной в области
описания глобальных
данных или в области
описания данных
модуля-члена.

Атрибут NAME задает
"внешнее" имя. Он
полностью независим от
атрибута EXTERNAL - между ними не
требуется никакой связи, хотя
оба этих атрибута могут быть у
одной и той же переменной.
Атрибут NAME можно
использовать в прототипах
процедур и функций, применять к
FILE, KEY, INDEX, MEMO, любому полю,
описанному в FILE или QUEUE
структурах, или к любому полю
вне структуры. Атрибут NAME имеет
различные свойства, в
зависимости от того, где он
использован.
NAME(константа) можно задать в
прототипах процедур или
функций. Константа - это
внешнее имя, используемое
компоновщиком для
идентификации процедуры или
функции из внешней библиотеки.
Атрибуты NAME(константа) или
NAME(переменная) в описании FILE
задает ДОСовскую спецификацию
полного имени файла. Если
константа или переменная не
содержит диск и путь, то
подразумеваются текущие диск и
каталог. Если опущено
расширение файла, то
подразумевается расширение,
стандартное для данного
файлового драйвера. Некоторые
файловые драйверы требуют,
чтобы KEYи, INDEXы, или MEMO-поля были
в отдельных файлах. Таким
образом, NAME можно применить к
описаниям KEY, INDEX или MEMO. Атрибут
NAME без константы или
переменной, ссылается на метку
того описательного оператора,
к которому он был применен
(включая префикс, если таковой
указан).
NAME(константа) может
применятся к любому полю,
описанному в структуре RECORD. Это
позволяет использовать имена
полей, не нарушающих
ограничений на имена,
накладываемые отдельными
файловыми драйверами.
NAME(константа) можно применять
к любому полю в структуре QUEUE.
Так достигается возможность
динамических сортировок во
время исполнения.
NAME(константа) можно также
применять к любой переменной,
описанной вне какой-либо
структуры. Это дает
возможность компоновщику по

внешнему имени
идентифицировать переменную,
описанную во внешней
библиотеке. Если переменная
имеет еще атрибут EXTERNAL, то она
описана, и память под нее
выделяется самой внешней
библиотекой. Без атрибута EXTERNAL,
такая переменная описывается,
и память под нее выделяется в
кларионовской программе, и она
является внешней по отношению
ко внешней библиотеке.
Пример:
PROGRAM
MAP
MODULE('External.Obj')
AddCount(LONG),LONG,C,NAME('_AddCount')
!C function named ' AddCount,
. .
Cust FILE,PRE(Cus),NAME(CustName) !Filename in CustName variable
CustKey KEY('Name'),NAME('c:\data\cust.idx')
!Declare key,cust.idx
Record RECORD
Name STRING(20),NAME !Default NAME to 'Cus:Name'
. !End file declaration
SortOue QUEUE,PRE(Que)
Fieldl STRING(10),NAME('FirstField') !QUEUE SORT NAME
Field2 LONG,NAME('SecondField') !QUEUE SORT NAME
.
CurrentCnt LONG,EXTERNAL,NAME('Cur') !Field declared public in
! external library as 'Cur'
TotalCnt LONG,NAME('Tot') !Field declared external
!in external library as 'Tot'
См. также: , FILE, , INDEX, QUEUE, EXTERNAL

Содержание раздела