BEA Logo BEA Tuxedo Release 8.0

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

 

   Tuxedo ホーム   |   TxRPC を使用した BEA Tuxedo アプリケーションのプログラミング   |   先頭へ   |   前へ   |   次へ   |   目次

 


Windows ワークステーション RPC クライアントの構築方法

Windows 用のクライアント・スタブのコンパイルには、コンパイル・オプションとして -D_TM_WIN 定義が必要になります。このオプションにより、該当する TxRPC 用の関数プロトタイプと BEA Tuxedo ATMI のランタイム関数が使用されます。DLL のテキスト・セグメントとデータ・セグメントが、DLL を呼び出しているコードとは異なるように、特別にコンパイルする必要があります。これは、クライアント・スタブ・ソースでは同じになります。ヘッダ・ファイルやスタブの作成は C プリプロセッサの定義を用いて自動的に行われ、宣言が容易に変更できるよう配慮されています。_TMF ("far" 用) の定義は、ヘッダ・ファイル内のすべてのポインタ定義の前で行われ、_TM_WIN が定義されていれば、_TMF は自動的に "_far" 型として定義されます。

ほとんどの場合、標準ライブラリを使えば buildclient(1) コマンドでクライアントをリンクできます。使用されるライブラリは wtrpc.lib です。

付録Aに示した例は、クライアント・スタブを使ってダイナミック・リンク・ライブラリ (DLL) を作成する方法を示したものです。この手法は、DLL (アプリケーション・コードが静的にリンクされることが無い) を使用する必要のあるビジュアル・アプリケーション・ビルダを使用する場合には一般的です。Windows 関数は、_pascal 呼び出し規約に従って宣言されることが従来からの方法でした。 ヘッダ・ファイルやスタブの作成は C プリプロセッサの定義を用いて自動的に行われ、宣言が容易に変更できるよう配慮されています。_TMX ("eXport" 用) は、宣言されたすべての関数の前におかれます。デフォルトでは、この宣言は何も定義しません。DLL に含まれるスタブをコンパイルするときは、_TMX_far _pascal として定義する必要があります。さらに、DLL に含まれるファイルは、ラージ・メモリ・モデルを用いてコンパイルする必要があります。_pascal を使用すると、関数名は自動的にライブラリ内で大文字に変換されます。このため、-port case オプションをオン状態にしておくと、2 つの名前の違いは大文字/小文字の区別だけなのかを調べる追加の検証を行え便利です。

Windows DLL を構築する例が、「アプリケーション例」に示してあります。

注記 TxRPC クライアントが windows.h をインクルードしている場合、uuid_t の定義が重複するためにコンパイル・エラーが起きることがあります。 windows.h は、すでにインクルードされているのでそれをインクルードしないようにするか、アプリケーションの別のファイルでそれをインクルードする必要があります。

 

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