JP1/Script(Windows(R)用)
CallDll ( DllFileName , FunctionName , Param1 , Param2 , … )
BOOL WINAPI MyFunc( HWND hParent, int argc, char * argv[], int * rtnc, char * * rtnv[] );
HWND hParent; ' 親ウィンドウのハンドル int argc; ' スクリプトから渡されるパラメタの数 char * argv[]; ' スクリプトから渡されるパラメタの配列 int * rtnc; ' スクリプトに返す文字列の数を格納するポインタ char * * rtnv[]; ' スクリプトに返す文字列の配列を格納するポインタ
' TEST.DLLの関数部分(Favorite.c) #include "windows.h" #define FAV_SPORT1 "SKI" #define FAV_SPORT2 "BASKETBALL" #define FAV_FOOD1 "STEAK" #define FAV_FOOD2 "PASTA" char * g_ret[2]; BOOL WINAPI GetFavorite( HWND hParent, int argc, char * argv[], int * rtnc, char ** rtnv[] ) { if (lstrcmp(argv[0], "SPORT") == 0) { g_ret[0] = FAV_SPORT1; g_ret[1] = FAV_SPORT2; } else if (lstrcmp(argv[0], "FOOD") == 0) { g_ret[0] = FAV_FOOD1 ; g_ret[1] = FAV_FOOD2; } *rtnc = 2; *rtnv = g_ret; return ( TRUE ); } ' スクリプト側の処理(abc.SPT) Dim Quest Quest = "SPORT" CallDll(_BIN_+"TEST.DLL" ,"GetFavorite" ,Quest) Dim Msg Msg = "私の好きな"+Quest+"は"+_RTN00_+"と"+_RTN01_+"です" MessageBox(Msg ,OK,,Information) Exit(0)
Copyright (C) 2012, Hitachi, Ltd.
Copyright (C) 2012, Hitachi Solutions, Ltd.