Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

9.52 DLL

Note

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

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

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

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

呼び出されるDLLの別名

1

32



2

A

必須

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

1

32



3 - 20

X

任意

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

1

無制限



...

  • 明白に記述しておかなければならないことがあります。この組み込み関数を使用すると、ファンクションはオペレーティング・システムに依存することになります。 
    アプリケーション構築者はこのこと関してすべての責任を負います。この組み込み関数を使って行うすべての作業は、どのような方法を使っても異なるオペレーティング・システム間で(同じオペレーティング・システムの異なるバージョン間でさえ)移動できることを明示的にも暗黙的にも保証するものではありません。
  • DLL の別名およびエントリー・ポイントの別名は英数字リテラルで指定する必要があります。コンパイル時に指定したものが判別できるようにする必要があるためです。
  • DLL を使用するには、そのDLLを X_LANSA\SOURCEディレクトリのX_USEDLL.DATに定義する必要があります。このファイルは、DLLとそのエントリー・ポイントの詳細情報を提供するもので、別名と実名をマッピングします。別名と実名を使うことで以下の利点があります。
    • RDML ファンクションと実DLLの間をあるレベルで分離することができます。例えば、RDMLファンクションのコードを変更することなく、使用する実DLLの名前を変更することができます(ただし実名は、生成されたCプログラム内で参照されるため、再コンパイルする必要があります)。
    • RDML プログラムが容易に読めるようになります。例えば、Crystal ReportsのDLLは「CRPE」という名前ですが、RDMLプログラムの中で「CrystalReports」という別名を使用すれば、RDMLプログラムが一層理解しやすくなります。エントリー・ポイントにも同様の考え方が適用されます。

X_USEDLL.DAT定義ファイル

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

...