提供の U_BIF マクロ
ユーザー定義組み込み関数のコーディングをサポートするため、以下の U_BIF マクロが Visual LANSA より提供されています。
これらのマクロは、ユーザー定義組み込み関数のプログラミングが簡単にできるように、また将来の変更の影響を受けないよう、特別に準備されたものであることに注意してください。
このマクロには高レベルのエラー処理は含まれておらず、完全な守備が整っているわけではありません。開発者がこのマクロの使用方法を理解し、使いこなせることが前提となっています。
U_BIF マクロは、LANSA Windows の製品 CD より提供されているヘッダー・ファイル X_BIF000.H で定義されています。このファイルは、Visual LANSA 更新時に毎回置き換えられますので、内容を変更しないようにしてください。
引数の指定は、引数の列のリスト順に指定する必要があることに注意してください。
マクロ名 | 引数 | 説明/コメント |
|---|---|---|
U_BIF_COLUMN_ERROR | なし | 致命的エラーのメッセージ・テキスト文字列 |
U_BIF_LIST_ERROR | なし | 致命的エラーのメッセージ・テキスト |
U_BIF_LANSA_FUNCTION | なし | 現在のファンクション名 |
U_BIF_LANSA_FUNCTION_DESC | なし | 現在のファンクションの記述 |
U_BIF_LANSA_PROCESS | なし | 現在のプロセス名 |
U_BIF_LANSA_PROCESS_DESC | なし | 現在のプロセスの記述 |
U-BIF-GET_HAB | _R=HAB | 現在の HAB を _R に返します。 |
U-BIF-GET_HMQ | _R=HMQ | 現在の HMQ を _R に返します。 |
U_BIF_GET_HWND | _R = HWND | 現在の HWND を _R に返します。 |
U_BIF_FATAL_ERROR | なし | "if (U_BIF_FATAL_ERROR)" と同様、致命的エラーの状態にあるかを確認します。 |
U_BIF_ISSUE_FATAL_ERROR | _T = "text" | 致命的なエラーを発行し、呼び出し元にコントロールを返します。 |
U_BIF_HANDLE_FATAL_ERROR | なし | 致命的エラーの状態にあるかを確認し、致命的エラーが存在する場合は返り値を発行します。 |
U_BIF_SET_GOOD_RETURN | なし | BIF が正常に終了したことを呼び出し RDML ファンクションに伝えます。 |
U_BIF_SET_BAD_RETURN | なし | BIF がエラーで終了したことを呼び出し RDML ファンクションに伝えます。 |
U_BIF_RETURN | なし | 呼び出し RDML ファンクションにコントロールを戻します。C 返り値を発行します。 |
U_BIF_SHUTDOWN_REQUEST | なし | 例にある "if (U_BIF_SHUTDOWN_REQUEST)" と同様、組み込み関数のシャットダウン要求があるかを確認します。 |
U_BIF_STANDARD_PARAMETERS | なし | ユーザー定義組み込み関数に対する標準パラメータ・リストを定義します。 |
U_BIF_STANDARD_ARGUMENTS | なし | ユーザー定義組み込み関数に渡す標準引数のセットを定義します。 |
U_BIF_OPERATING_SYSTEM_WIN95 | なし | C #ifdef または #elif で使用し、Windows 9x/200x におけるコンパイルをテストします。 |
U_BIF_OPERATING_SYSTEM_WIN | なし | C #ifdef または #elif で使用し、Windows 9x または 200x におけるコンパイルをテストします。 |
U_BIF_OPERATING_SYSTEM_UNIX | なし | C #ifdef または #elif で使用し、UNIX(Linux) オペレーティング・システム におけるコンパイルをテストします。 |
U_BIF_GET_ARGUMENT_COUNT | _N = X_SHORT | 組み込み関数の _N に引数の総数を返します。 |
U_BIF_ARGUMENT_PASSED | _N = X_SHORT | "if ()" ステートメント内で使用して、引数の数 _N が呼び出し元に渡されたかどうかを確認します。 |
U_BIF_GET_RETURN_COUNT | _N = X_SHORT | 呼び出し元が要求した返り値の総数のカウントを _N に返します。 |
U_BIF_RETURN_REQUIRED | _N = X_SHORT | "if ()" ステートメント内で使用して、戻り値 _N が呼び出し元によって要求されているかどうかを確認します。 |
U_BIF_GET_ARG_AS_SHORT | _N = X_SHORT | 引数番号 _N を X_SHORT 値として取得して、_S に入れます。_N が無効、もしくは引数 _N が渡されなかった場合、_S がこの操作で変更されることはありません。_N は引数番号で、C スタイルの 0 から始まる連番です。 |
U_BIF_GET_ARG_AS_LONG | _N = X_SHORT | 引数番号 _N を X_LONG 値として取得して、_L に入れます。_N が無効、もしくは引数 _N が渡されなかった場合、_L がこの操作で変更されることはありません。_N は引数番号で、C スタイルの 0 から始まる連番です。 |
U_BIF_GET_ARG_AS_DOUBLE | _N = X_SHORT | 引数番号 _N を X_DOUBLE 値として取得して、_D に入れます。_N が無効、もしくは引数 _N が渡されなかった場合、_D がこの操作で変更されることはありません。_N は引数番号で、C スタイルの 0 から始まる連番です。 |
U_BIF_GET_ARG_AS_VCHAR | _N = X_SHORT | 引数番号 _N を X_VCHAR 値として取得して、V に入れます。_N が無効、もしくは引数 _N が渡されなかった場合、V がこの操作で変更されることはありません。_N は引数番号で、C スタイルの 0 から始まる連番です。 |
U_BIF_SET_RET_FROM_SHORT | _N = X_SHORT | 戻り値番号 _N を、_S によって指定された X_SHORT 値から設定します。_N が無効である場合、戻り値 _N は必要ありません。この要求全体が無視されます。_N は戻り値番号で、C スタイルの 0 から始まる連番です。 |
U_BIF_SET_RET_FROM_LONG | _N = X_SHORT | 戻り値番号 _N を、_L によって指定された X_LONG 値から設定します。_N が無効である場合、戻り値 _N は必要ありません。この要求全体が無視されます。_N は戻り値番号で、C スタイルの 0 から始まる連番です。 |
U_BIF_SET_RET_FROM_DOUBLE | _N = X_SHORT | 戻り値番号 _N を、_D によって指定された X_DOUBLE 値から設定します。_N が無効である場合、戻り値 _N は必要ありません。この要求全体が無視されます。_N は戻り値番号で、C スタイルの 0 から始まる連番です。 |
U_BIF_SET_RET_FROM_VCHAR | _N = X_SHORT | 戻り値番号 _N を、_V によって指定された X_VCHAR 値から設定します。_N が無効である場合、戻り値 _N は必要ありません。この要求全体が無視されます。_N は戻り値番号で、C スタイルの 0 から始まる連番です。 |
U_BIF_DECLARE_LIST_POINTER | _L = C Name | 引数として受け取った、もしくは返す予定の作業リストへのポインターを宣言します。これは宣言ですので、正しい位置に配置する必要があります。pListArg1、pListArg7、pListRet5 といった名前が推奨されています。 |
U_BIF_SET_ARG_LIST_POINTER | _L = C Name | 事前に U_BIF_DECLARE_LIST_POINTER(_L) で宣言されたリスト・ポインターを初期化します。 |
U_BIF_SET_RET_LIST_POINTER | _L = C Name | 事前に U_BIF_DECLARE_LIST_POINTER(_L) で宣言されたリスト・ポインターを初期化します。 |
U_BIF_GET_ENTRY_FROM_LIST | _L = C Name | _L ポインターが指す作業リストからエントリー番号 _E を取得します。エントリーが存在する場合、_R は YES('Y') で、それ以外は NO('N') で返されます。リスト・エントリーは 1 から N で番号が振られています。その他の U_BIF マクロの多くは C スタイルの 0 から (N - 1) で番号が振られているので、この点では異なります。 |
U_BIF_CLEAR_LIST | _L = C Name | _L ポインターが指すリストからすべてのエントリーをクリアします。 |
U_BIF_ADD_ENTRY_TO_LIST | _L = C Name | _L ポインターが指すリストに新規のエントリーを追加します。 |
U_BIF_UPDATE_ENTRY_IN_LIST | _L = C Name | _L ポインターが指す作業リストの現在のエントリーを更新します。 |
U_BIF_GET_LIST_CURRENT_ENTRYS | _L = C Name | _L ポインターが指す作業リストの現在のエントリー数のカウントを _R に返します。 |
U_BIF_GET_LIST_MAXIMUM_ENTRYS | _L = C Name | _L ポインターが指す作業リストに入れることができるエントリー最大数のカウントを _R に返します。 |
U_BIF_GET_LIST_ENTRY_LENGTH | _L = C Name | _L ポインターが指す作業リスト内の 1 つのエントリーの合計バイト長を _R に返します。 |
U_BIF_GET_LIST_COLUMN_TOTAL | _L = C Name | _L ポインターが指す作業リストに定義された列の総数を _R に返します。 |
U_BIF_GET_LIST_COLUMN_ATTRIBS | _L = C Name | _L ポインターが指す作業リストの列番号 _C (0 ~ (N-1) のスタイル) の定義を問い合わせ、以下を返します。 _T : 列タイプ _C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。 X_TYPE_CLOB、X_TYPE_BLOB では、_E はファイル名の長さの最長で、ファイルのコンテンツではありません。 |
U_BIF_LIST_COLUMN_NAME_LEN | なし | 列名の長さ (現在は 10 バイト) を定義します。 |
U_BIF_GET_LIST_COLUMN_NAME | _L = C Name | _L ポインターが指す作業リストの列番号 _C (0 ~ (N-1) のスタイル) の定義を問い合わせ、列の名前 (RDML フィールド名) を返します。 _R は X_VCHAR タイプに属している必要があり、少なくとも(U_BIF_COLUMN_NAME_LEN + 1) バイトの長さでなければいけません。 _C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。 |
U_BIF_GET_LIST_COLUMN_AS_SHORT | _L = C Name | _L ポインターが指す作業リストの現在のエントリーから列番号 _C (0 ~ (N-1) のスタイル) の値を返します。この値は _R に返されますが、タイプは X_SHORT である必要があります。_C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。 |
U_BIF_GET_LIST_COLUMN_AS_LONG | _L = C Name | _L ポインターが指す作業リストの現在のエントリーから列番号 _C (0 ~ (N-1) のスタイル) の値を返します。この値は _R に返されますが、タイプは X_LONG である必要があります。_C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。 |
U_BIF_GET_LIST_COLUMN_AS_LONGLONG | _L = C Name | _L ポインターが指す作業リストの現在のエントリーから列番号 _C (0 ~ (N-1) のスタイル) の値を返します。この値は _R に返されますが、タイプは X_LONGLONG である必要があります。_C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。 |
U_BIF_GET_LIST_COLUMN_AS_DOUBLE | _L ポインターが指す作業リストの現在のエントリーから列番号 _C (0 ~ (N-1) のスタイル) の値を返します。この値は _R に返されますが、タイプは X_DOUBLE である必要があります。_C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。 | |
U_BIF_GET_LIST_COLUMN_AS_VCHAR | _L = C Name | _L ポインターが指す作業リストの現在のエントリーから列番号 _C (0 ~ (N-1) のスタイル) の値を返します。 |
U_BIF_SET_LIST_COLUMN_FROM_SHORT | _L = C Name | _L ポインターが指す作業リストの現在のエントリーに列番号 _C (0 ~ (N-1) のスタイル) の値を設定します。この値は _R から設定されますが、タイプは X_SHORT である必要があります。_C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。リスト内の現在のエントリーは、この後挿入する、もしくは、保存されたリストに実際に適用するため更新する必要があります。 |
U_BIF_SET_LIST_COLUMN_FROM_LONG | _L = C Name | _L ポインターが指す作業リストの現在のエントリーに列番号 _C (0 ~ (N-1) のスタイル) の値を設定します。この値は _R から設定されますが、タイプは X_LONG である必要があります。_C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。リスト内の現在のエントリーは、この後挿入する、もしくは、保存されたリストに実際に適用するため更新する必要があります。 |
U_BIF_SET_LIST_COLUMN_FROM_LONG | _L = C Name | _L ポインターが指す作業リストの現在のエントリーに列番号 _C (0 ~ (N-1) のスタイル) の値を設定します。この値は _R から設定されますが、タイプは X_LONGLONG である必要があります。_C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。リスト内の現在のエントリーは、この後挿入する、もしくは、保存されたリストに実際に適用するため更新する必要があります。 |
U_BIF_SET_LIST_COLUMN_FROM_DOUBLE | _L = C Name | _L ポインターが指す作業リストの現在のエントリーに列番号 _C (0 ~ (N-1) のスタイル) の値を設定します。この値は _R から設定されますが、タイプは X_DOUBLE である必要があります。_C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。リスト内の現在のエントリーは、この後挿入する、もしくは、保存されたリストに実際に適用するため更新する必要があります。 |
U_BIF_SET_LIST_COLUMN_FROM_VCHAR | _L = C Name | _L ポインターが指す作業リストの現在のエントリーに列番号 _C (0 ~ (N-1) のスタイル) の値を設定します。この値は _R から設定されますが、タイプは X_VCHAR である必要があります。_C が無効な列番号の場合、結果として致命的エラーとなり、組み込み関数は終了されます。リスト内の現在のエントリーは、この後挿入する、もしくは、保存されたリストに実際に適用するため更新する必要があります。 |