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:
0 komentárov