9.52 DLL

注意 9.1 組み込み関数の規則     利用オプション

標準DLL(Dynamic Link Library:動的リンク・ライブラリ)オブジェクト内の処理をLANSAコンポーネントやファンクションから呼び出すことができます。 

これは、オペレーティング・システムのDLLエントリー・ポイントへの汎用的なインターフェースです。特殊な要件に対して、このインターフェースは最適ではない場合もあります。特殊な要件の場合、独自の組み込み関数の作成を検討してください。この機能の詳細については、「独自の組み込み関数の作成」を参照してください。

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

呼び出されるDLLの別名

1

32



2

A

必須

呼び出されるファンクションの別名(エントリー・ポイントなど)

1

32



3 - 20

X

任意

DLLエントリー・ポイントに渡すユーザー定義の実引数または論理引数

1

無制限



戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

戻りコード

OK:正常終了した 
ER:エラーが検出された

2

2



2

A

任意

エラー・メッセージ・テキスト

1

256



3 - 20

X

任意

DLLエントリー・ポイントからのユーザー定義の実戻り値または論理戻り値

1

無制限



技術上の注記

X_USEDLL.DAT定義ファイル

X_USEDLL.DAT定義ファイルには、DLL組み込み関数が使用できる全DLLの特性が定義されています。このファイルを作成または変更する前に、またはこの組み込み関数を使用する前に、以下のことを理解しておく必要があります。

このファイルの内容については、以下の例を検討してください。

     *  --------------------------------------------------
* Example of defining Crystal Report DLL entry points
* ---------------------------------------------------
DLLNAM=CRPE
DLLALS=CrystalReports
*
ENTNAM=PEOpenEngine
ENTALS=OpenEngine
ENTSKL=CRPE0001.S
*
ENTNAM=PECloseEngine
ENTALS=CloseEngine
ENTSKL=CRPE0002.S
*
ENTNAM=PEPrintReport
ENTALS=PrintReport
ENTSKL=CRPE0003.S
*
ENTNAM=PEGetVersion
ENTALS=GetVersion
ENTSKL=CRPE0004.S

この例は、CRPEという名前のCrystal ReportsのDLLを定義したものです。この例では、OpenEngine、CloseEngine、PrintReport、GetVersion という4つのエントリー・ポイントの別名があります。このDLLとエントリー・ポイントを呼び出すスケルトン/テンプレート・プログラムは、それぞれ...\X_LANSA\SOURCEディレクトリのファイルCRPE0001.S、CRPE0002.S、CRPE0003.S、およびCRPE0004.Sに入っています。スケルトン・プログラムには、DLLをロードする方法、実エントリー・ポイントの名前、組み込み関数の引数とエントリー・ポイントの引数をマッピングする方法、戻りコードと戻り値の処理方法などが定義されています。 

独自のスケルトン・ファイル/テンプレートを設定する場合は、以下のガイドラインに従ってください。

アプリケーションを正常に実行するために、DLLをX_LANSA/EXECUTEディレクトリにコピーすることが必要になる場合があります。例えば、CRPE32.DLLは、X_LANSA/EXECUTEディレクトリへのコピーが必要です。

実際の開発サイトで、この組み込み関数の引数を実DLLエントリー・ポイントの引数にマッピングするための規則について決定しておく必要があります。採用する規則は、DLLの各エントリー・ポイントに関連するスケルトン/テンプレート・プログラムに実装します。 

用意されているスケルトン/テンプレート・ファイルは、特に以下の要件に対応するために使用されました。

例えば、Crystal Reportsのエントリー・ポイントでは以下のパラメータと戻り値の規則が出荷時の形式として採用されています。

DLL別名

エントリー・ポイント

別名

引数と戻り値

CrystalReports

OpenEngine

Ret 1

戻りコード。OKまたはERが戻される。任意

CrystalReports

CloseEngine

Ret 1

戻りコード。OKまたはERが戻される。任意

CrystalReports





PrintReport





Arg 3

レポート名。必須。指定がない場合はデフォルトとしてNull文字列が使用され、「見つかりません」のエラーとなる

Arg 4

プリント・レポート・オプション。任意。YまたはNを指定する。デフォルトはY

Arg 5

ウィンドウ表示オプション。任意。YまたはNを指定する。デフォルトはN

Arg 6

ウィンドウ・タイトル。任意デフォルトはNull文字列

Ret 1

戻りコード。OKまたはERが戻される

CrystalReports



GetVersion



Ret 1

戻りコード。OKまたはERが戻される。任意

Ret 2

メジャー・バージョン番号。任意

Ret 3

マイナー・バージョン番号。任意