Структура FoxInfo используется для связи с именами функций и описаниями параметров между Visual FoxPro и вашей библиотекой FLL.
Приведенный ниже код иллюстрирует синтаксис для структуры FoxInfo:
![]() | |
---|---|
FoxInfo arrayname[ ] = { {funcName1, FPFI function1, parmCount1, parmTypes1} {funcName2, FPFI function2, parmCount2, parmTypes2} . . . {funcNameN, FPFI functionN, parmCountN, parmTypesN} }; |
В приведенной ниже таблице описываются параметры в этой структуре.
Параметр | Описание | ||
---|---|---|---|
arrayname |
указывает переменную типа FoxInfo.
|
||
funcName |
Содержаит имя, которое использует пользовать Visual FoxPro для вызова вашей функции. |
||
function |
Указывает адрес вашей процедуры в языке C. Это имя (регистро-чувствительное) в точности повторяет то, что вы определили для вашей функции. |
||
parmCount |
Указывает число параметров, описанных в строке parmTypes string или одно из перечисленных ниже значений флажков. :
|
||
parmTypes |
Описывает тип данных каждого параметра. Ниже перечислены допустимые значения для parmTypes.
|
![]() |
---|
Включите значение типа для каждого параметра, посылаемого библиотеке. Для указания того, что параметр является необязательным, предварите его символом точки (.). Пропущены могут быть только завершающие параметры. |
Например, предположим, что вы создали функцию, которая может принимать в виде параметра и символьную строку, и число. Когда вы будете определять parmType, используйте "CN".
Приведенный ниже пример структуры FoxInfo определяет библиотеку с одной
функцией, которая внутренне называется dates,
а вызывается извне ,
как DATES
. Структура принимает один параметр типа Character:
![]() | |
---|---|
FoxInfo myFoxInfo[] = { { "DATES", (FPFI) dates, 1, "C" } }; |
После того, как вы скомпилируете свою FLL библиотеку с этой структуров FoxInfo и загрузите ее в Visual FoxPro с помощью команды SET LIBRARY, вы можете вызвать эту функцию в Visual FoxPro приведенной ниже строкой кода:
![]() | |
---|---|
=DATES("01/01/95") |