スクリプト構文リファレンス > JSLメッセージ > ダイナミックリンクライブラリ(DLL)
公開日: 04/01/2021

ダイナミックリンクライブラリ(DLL)

dll object<<Call DLL(function name, signature, arguments)

指定のシグニチャおよび引数で、DLL内の指定の関数を呼び出す。

dll object<<Declare Function(name, <named arguments>)

説明

指定の関数における戻り値と引数の型を宣言する。この宣言により、DLL内の関数を正しく呼び出すことができます。名前付き引数Conventionには、"STDCALL""PASCAL""CDECL"のいずれかを指定します。また、ReturnおよびArgにおいて、戻り値と引数のを指定します。name引数は引用符付きです。

オプションの名前付き引数

Alias(name)

引用符付きのnameで指定された名前を、DLLでエンコードされた名前に代えて含める。

Arg(type, <description>, <access mode>, <array>)

Argは、関数がもつ引数ごとに1回ずつ、複数回使用できます。

typeには、次のいずれかのキーワードによって、引数の型を指定します。"Int8""UInt8""Int16""UInt16""Int32""UInt32""Int64""UInt64""Float""Double""AnsiString""UnicodeString""Struct""IntPtr""UIntPtr""ObjPtr"

descriptionは、引数に対する何らかのコメントを記載する引用符付きの文字列です。

access modeは、引数の渡し方を指定するオプションのキーワードです。"input"は、値渡しを意味します。引数の値を渡す時に指定します。"output"は、アドレス渡しを意味します。値が定義されていない引数のアドレスを渡す時に指定します。"update"は、参照渡しを意味します。引数への参照を渡す時に指定します(この時の引数の値は、JSL変数の値となります)。デフォルト値は、"input"です。

arrayはオプションのキーワードです。このオプションは、type"Double"で、access modeが"input"または"update"に指定されている場合のみ有効です。関数の引数が、Doubleの配列であることを指定します。

Convention(calling convention)

呼び出しの規則を指定する。"STDCALL""PASCAL""CDECL"のいずれかを指定します。デフォルト値は"STDCALL"です。STDCALLPASCALは等価です。

MaxArgs(n)

使用可能な引数の最大数を整数で指定する。

MinArgs(n)

使用可能な引数の最小数を整数で指定する。

Returns(type)

関数からの戻り値の型を指定する。"Int8""UInt8""Int16""UInt16", "Int32""UInt32""Int64""UInt64""Float""Double""AnsiString""UnicodeString""Struct""IntPtr""UIntPtr""ObjPtr"のいずれかを指定します。

StackOrder(order)

関数の呼び出し時における、スタックへの引数の格納順序を指定するキーワード。有効な値は"L2R"(左から右)、"R2L"(右から左)です。デフォルト値は"R2L"です。

StackPop(pop)

エクスポートされた関数が戻った後にスタックをクリアする際の方法を指定するキーワード。有効な値は"CALLER"および"CALLEE"です。デフォルト値は"CALLEE"です。

StructArg(Arg(...), <Arg(...)>, ..., <access mode>, <pack mode>, <description>)

複数回使用できる。エクスポートしたDLL関数において、構造体の引数を引数として渡す必要がある場合は、StructArgを使用して構造体メンバーを宣言します。Arg引数の構文は、前述のDeclare FunctionにおけるArg引数と同じです。他の引数として、access modeおよびpack modeがあります。

access mode(オプション)は、構造体引数が値(input)によって渡されるか、または参照(update)によって渡されるかを指定するキーワードです。

pack mode(オプション)は、構造体のパック方法を指定するための整数です。有効な値は1、2、4、8、16です。デフォルト値は8です。

"description"(オプション)は、構造体に対する何らかのコメントを記載するための引用符付き文字列です。

dll object<<Get Declaration JSL

DLL内に用意されたJSLによる関数宣言をログに出力する。

dll object<<Load DLL(path, <AutoDeclare(Boolean|"Quiet"|"Verbose")>)

dll object<<Load DLL(path, <"Quiet"|"Verbose">)

説明

pathで指定されたDLLをロードする。

必須の引数

path

DLLをロードする場所のパス。引用符付きで指定します。

オプションの名前付き引数

AutoDeclare(Boolean|Quiet|Verbose)

AutoDeclare(1)およびAutoDeclare(Verbose)は、ログにverboseメッセージを書き込む。AutoDeclare("Quiet")は、ログウィンドウのメッセージを無効にします。このオプションを省略すると、ログにverboseメッセージが書き込まれます。

Quiet|Verbose

Declare Functionを使用した場合、このオプションは、ログウィンドウへのメッセージ出力のオフ("Quiet")とオン("Verbose")を切り替える。

dll object<<Show Functions

DLLオブジェクトに対して宣言された関数をログに送る。

dll object<<Unload DLL

DLLをアンロードする。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).