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 
Napíšte komentár