该帮助的版本不再更新,请参见https://www.jmp.com/support/help/zh-cn/15.2 获取最新的版本.


Load DLL() loads the DLL in the specified path. Use the AutoDeclare(Quiet) argument to suppress log window messaging.
Use the Declare Function message to declare a function that is defined in the DLL.After you declare the function, you can call it.
The Alias defines an alternate name that you can use in JSL. For example, if you declared Alias("MsgBox") for a function that is named "Message Box" in the DLL, then you would call it as follows:
The named arguments for Convention are as follows:
STDCALL or PASCAL
The type argument for both Arg and Returns can be one of the following:
See Dynamic Link Libraries (DLLs) the JSL Syntax Reference for the Declare Function message arguments.
Finally, use the UnLoadDLL message to unload the DLL:
If( Host is( "Windows" ),
If(
Host is( "Bits64" ),
// Load the 64-bit DLL.
dll_obj = Load DLL( "c:\Windows\System32\user32.dll" ),
// Load the 32-bit DLL.
dll_obj = Load DLL( "c:\Windows\SysWOW64\user32.dll" ),
// If neither DLL is found, stop execution.
dll_obj <<DeclareFunction(
"MessageBoxW",
Alias( "MsgBox" ),
Arg( IntPtr, "hWnd" ),
Arg( UnicodeString, "message" ),
Arg( UnicodeString, "caption" ),
Arg( UInt32, "uType" ),
"Here is a message from JMP.",
"Call DLL",
321
Show( result );
dll_obj << UnLoadDLL
If you are writing your own DLL, you can create functions in it using JSL. The Get Declaration JSL message sends any JSL functions in your DLL to the log: