Skip to main content

$ZF(-3) (ObjectScript)

DLL (ダイナミック・リンク・ライブラリ) をロードし、ライブラリ関数を実行します。この関数は、コールアウト SDK のコンポーネントです。

構文

$ZF(-3,dll_name,func_name,args)

引数

引数 説明
dll_name ロードする DLL (ダイナミック・リンク・ライブラリ) の名前。引用符付き文字列として指定されます。DLL が既にロードされている場合は、dll_name を NULL 文字列 ("") として指定できます。
func_name オプション — DLL 内で実行される関数名。引用符付き文字列として指定されます。
args オプション — 関数に渡す引数の、コンマ区切りのリスト。

概要

$ZF(-3) を使用して、DLL (ダイナミック・リンク・ライブラリ) をロードし、指定された関数をその DLL から実行することができます。$ZF(-3) は、関数の返り値を返します。

$ZF(-3) は、以下の方法のいずれかで呼び出されます。

DLL をロードするには、以下の構文を使用します。

   SET x=$ZF(-3,"mydll")

DLL をロードし、その DLL にある関数を実行するには、以下の構文を使用します。

   SET x=$ZF(-3,"mydll","$$myfunc",1)

$ZF(-3) を使用して DLL をロードすると、その DLL が現在の DLL となり、以前に $ZF(-3) を呼び出したときにロードされた DLL を自動的にアンロードします。

以前の $ZF(-3) でロードされた DLL にある関数を実行するには、以下のように現在の DLL を NULL 文字列で指定することで、前の関数の実行速度を上げることができます。

   SET x=$ZF(-3,"","$$myfunc2",1)

(以前の $ZF(-3) 呼び出しでロードされた) 現在の DLL を明示的にアンロードするには、以下の構文を使用します。

   SET x=$ZF(-3,"")

$ZF(-3) は、1 つの DLL のみロードします。DLL をロードすると、以前の DLL がアンロードされます。また、現在ロードされている DLL を明示的にアンロードすることもできます。これにより、現在ロードされている DLL が存在しないことになります。(ただし、$ZF(-3) のロードやアンロードが、$ZF(-5)$ZF(-6) で使用するロードやアンロードに影響を与えることはありません。詳細は以下に説明しています。)

指定された DLL 名はフル・パス名、またはパス名の一部分です。パス名の一部分を指定する場合、InterSystems IRIS はそれを現在のディレクトリに正規化します。一般的に、DLL はバイナリ・ディレクトリ ("bin") に格納されます。バイナリ・ディレクトリの位置を確認するには、%SYSTEM.UtilOpens in a new tab クラスの BinaryDirectory()Opens in a new tab メソッドを呼び出します。詳細は、"インターシステムズ・クラス・リファレンス" を参照してください。

関連項目

FeedbackOpens in a new tab