EDA_GetFunctionParamsRec
Funkcia získa zoznam pomenovaných parametrov z predpisu funkcie.
Deklarácia
EDA_GetFunctionParamsRec(
TEXT in funcBody,
REC in params,
REC out funcParams,
INT out errorCode
)Parametre
| Parameter | Dátový typ | Typ | Popis |
|---|---|---|---|---|
1 | funcBody | TEXT | IN | Predpis funkcie. |
2 | params | REC | IN | Štruktúra voliteľných parametrov. |
3 | funcParams | REC | OUT | Štruktúra parametrov funkcie. |
4 | errorCode | INT | OUT | Návratový kód. |
Použitie
CALL %EDA_GetFunctionParamsRec (_funcBody, _params, _funcParams, _errorCode);
Štruktúra parametrov funkcie:
| Parameter | Dátový typ | Podpis |
|---|---|---|---|
1 | name | TEXT | Názov parametra. |
2 | type | INT | Typ parametra (0 - BOOL, 1 - INT, 2 - REAL, 3 - TIME, 4 - VECTOR, 5 - VECTORS). |
3 | noInvalid | BOOL | Príznak zákazu neplatnej hodnoty. |
4 | default | TEXT | Predvolená hodnota parametra. |
5 | description | TEXT | Popis parametra. |
Obsah štruktúry voliteľných parametrov verzie 1:
| Parameter | Dátový typ | Prednastavená hodnota | Popis |
|---|---|---|---|---|
1 | structVersion | INT | 0 (default cache) | Verzia štruktúry - 1. |
2 | cacheId | INT |
| Identifikátor cache. |
3 | version | INT/TEXT |
| Identifikátor verzie. |
Príklad použitia
RPC PROCEDURE Test(BOOL _success)
INT _errorCode
TEXT _funcBody
RECORD NOALIAS (SD.EDA_GetFunctionParams_Params_V1) _params
RECORD NOALIAS(SD.EDA_ParamDesc) _funcParams
_funcBody := _funcBody "PARAM BOOL _b := 1;" + %Chr(10)
_funcBody := _funcBody + "PARAM NOINVALID INT _i;" + %Chr(10)
_funcBody := _funcBody + "PARAM NOINVALID REAL _r := 0.0 COMMENT ""real parameter"";" + %Chr(10)
_funcBody := _funcBody + "PARAM NOINVALID TIME _t := %BeginYear(%CurrTime());" + %Chr(10)
_funcBody := _funcBody + "PARAM VEKTOR _v COMMENT ""vector parameter"";" + %Chr(10)
_funcBody := _funcBody + "PARAM VEKTORS _w;" + %Chr(10)
_funcBody := _funcBody + "RETURN _v;"
; nacita zoznam parametrov predpisu funkcie
_params[1]^structVersion := 1
CALL %EDA_GetFunctionParamsRec(_funcBody, _params, _funcParams, _errorCode)
IF _errorCode != 0 THEN
RETURN
ENDIF
END |
Súvisiace stránky: