1.3.3.2 FML/FML32型バッファの使用

Tuxedo .NETワークステーション・クライアントでは、クラスTypedFML/TypedFML32を使用して、ほとんどのFML C関数を定義します。FML型バッファを使用してTuxedo .NETアプリケーションを開発するには、以下のステップに従います。

  1. FMLフィールド表ファイルを定義します。

    Tuxedo .NETワークステーション・クライアント・ユーティリティmkfldcsを使用して、フィールド表ファイルをC#ソース・ファイルにコンパイルします。生成されるC#ファイルには、フィールド表ファイルに定義されたすべてのFMLフィールドIDの定義が含まれたパブリック・クラスがあります。mkfldcs(1)も参照してください

  2. .NETアプリケーションを記述します。

    TypeFMLクラスのメソッドを使用して、FMLデータを作成し、アクセスします。

FML型バッファのプログラミングの詳細は、『FMLを使用したTuxedo ATMIアプリケーションのプログラミング』を参照してください。

ノート:

.NETワークステーション・クライアントは、FML32バッファ内のFLD_MBSTRINGフィールドをサポートしています。詳細は、Fmbpack32()およびFmbunpack32()を参照してください。「セクション3fml - FML関数」を参照してください。

次のコード・スニペットは、mkfldcsを使用したFML自動生成コード(C#サンプル・コード)を示しています

using Bea.Tuxedo.FML;

namespace Bea.Tuxedo.Autogen {

public class fnext_flds {

public static readonly FLDID F_short = 110; // number: 110 type: short

public static readonly FLDID F_view32 = 369098863; // number: 111 type: view32
public static readonly FLDID F_double = 134217840; // number: 112 type: double
public static readonly FLDID F_ptr = 301990001; // number: 113 type: ptr

}

} // namespace Bea.Tuxedo.Autogen 

次のコード・スニペットは、TypedFMLクラスの使用方法を示しています(C#コードの例)

……

TypedFML fmlbuf = new TypedFML(2048);

short s = 123;

fmlbuf.Fadd(fnext_flds.F_short, s);

……

fmlbuf.Resize(3000);

……

fmlbuf.Dispose();

……