BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Tuxedo FML リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


Fboolev、Fboolev32、Fvboolev、Fvboolev32(3fml)

名前

Fboolev()Fboolev32()Fvboolev()Fvboolev32() - 評価ツリーに対するバッファの評価

形式

#include <stdio.h> 
#include "fml.h"
int
Fboolev(FBFR *fbfr, char *tree)
int
Fvboolev(char *cstruct, char *tree, char *viewname)
#include "fml32.h"
int
Fboolev32(FBFR32 *fbfr, char *tree)
int
Fvboolev32(char *cstruct, char *tree, char *viewname)

機能説明

Fboolev() は、フィールド化バッファを指すポインタ (fbfr)、Fboolco() が返す評価ツリーのポインタ (tree) を利用して、フィールド化バッファが指定された論理条件と一致する場合は、true (1) を返し、そうでない場合は false (0) を返します。この関数は、フィールド化バッファあるいは評価ツリーのいずれも変更しません。評価ツリーは、Fboolco() によって以前コンパイルされたものです。

Fboolev32() は 32 ビット FML で使用されます。

Fvboolev() および Fvboolev32() は、同じ VIEW 機能を提供します。viewname パラメータは、フィールド・オフセットを取り出す VIEW を示し、Fvboolco() または Fvboolco32() で指定された VIEW と同じにする必要があります。

workstation プラットフォームでは、これらの関数はサポートされていません。

マルチスレッドのアプリケーション内のスレッドは、TPINVALIDCONTEXT を含め、どのようなコンテキスト状態で実行している場合でも、ここで記述する関数、Fboolev()Fboolev32()Fvboolev()、または Fvboolev32() を呼び出すことができます。

戻り値

Fboolev() は、バッファ内の表現と評価ツリーが一致している場合、1 を返します。表現が評価ツリーと不一致の場合、0 を返します。この関数は、エラー発生時に -1 を返し、Ferror を設定してエラー条件を示します。

エラー

次の条件の場合、Fboolev() は異常終了し、Ferror を次の値に設定します。

[FALIGNERR]

"fielded buffer not aligned"
fbfr バッファが適切なバウンダリで開始していません。

[FNOTFLD]

"buffer not fielded"
fbfr バッファがフィールド化バッファでない、または Finit() によって初期化されていません。

[FMALLOC]

"malloc failed"
malloc() を使用しての領域の動的な割り当てが失敗しました。

[FEINVAL]

"invalid argument to function"
呼び出された関数の引数の 1 つが無効でした (たとえば、Fboolev の tree パラメータに NULL が指定されている場合)。

[FSYNTAX]

"bad syntax in Boolean expression"
認識できないフィールド名以外に、Fboolev() によって、論理表現に文法エラーが見つかりました。

[FBADVIEW]

"cannot find or get view"
VIEWDIR または VIEWFILES で指定したファイルに viewname が見つかりません。

[FVFOPEN]

"cannot find or open view file"
viewname 検索中にプログラムで VIEWDIR または VIEWFILES で指定したファイルが 1 つ見つかりませんでした。

[EUNIX]

"operating system error"
viewname 検索中にプログラムは VIEWDIR または VIEWFILES で指定したファイルを 1 つ読み込み用に開けませんでした。

[FVFSYNTAX]

"bad viewfile"
viewname 検索中に VIEWDIR または VIEWFILES で指定したファイルの 1 つが破壊されていたか、VIEW ファイルではありませんでした。

[FMALLOC]

"malloc failed"
viewname 検索中に malloc() が VIEW 情報を格納するための領域の割り当てに失敗しました。

使用例

Fboolco() の使用例でコンパイルした評価ツリーを使用します。

#include <stdio.h> 
#include "fml.h"
#include "fld.tbl.h"
FBFR *fbfr;
...
Fchg(fbfr,FIRSTNAME,0,"John",0);
Fchg(fbfr,SEX,0,"M",0);
if(Fboolev(fbfr,tree) > 0)
fprintf(stderr,"Buffer selected¥¥¥¥n");
else
fprintf(stderr,"Buffer not selected¥¥¥¥n");

Buffer selected を出力します。

関連項目

FML 関数の紹介」、Fboolco、Fboolco32、Fvboolco、Fvboolco32(3fml)Fboolpr、Fboolpr32、Fvboolpr、Fvboolpr32(3fml)

 

先頭へ戻る 前のトピックへ 次のトピックへ