FNC_GetAnyTypeParamInfoを使用することはできますが、取得したUDT名が30文字で切り捨てられてしまいます。長いオブジェクト名に対してはFNC_GetAnyTypeParamInfoの代わりにFNC_GetAnyTypeParamInfo_eonを使用してください。
外部ルーチンに渡されたTD_ANYTYPE入力引数および出力引数についての情報を取得するには、次の手順を実行します。
- INTEGER型の変数(例えば、numAnytypeParams)を宣言します。
- TD_ANYTYPE入力パラメータと、ルーチン内で宣言した結果パラメータについてのすべての情報を保持できるだけのメモリを、AnyTypeAttributeArrayバッファに割り当てます。このバッファはanytype_param_info_t構造体の配列にする必要があります。この配列の各構成要素には、個別のTD_ANYTYPEパラメータの情報を格納します。
- FNC_GetAnyTypeParamInfo()を呼び出します。このとき、AnyTypeAttributeArrayバッファへのポインタとバッファのサイズ、およびnumAnytypeParamsへのポインタを渡します。
FNC_GetAnyTypeParamInfo関数は、各TD_ANYTYPEパラメータについての情報をAnyTypeAttributeArrayバッファに格納します。TD_ANYTYPE結果パラメータの戻り値の型についての情報は、この配列の最後の構成要素に格納されます。TD_ANYTYPEパラメータの数は、numAnyTypeParamsパラメータで返されます。
この情報の処理を完了したら、AnyTypeAttributeArrayバッファに割り当てたメモリを確実に解放してください。