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:
Pridať komentár