JS 易语言-跨语言交互-注册自定义回调函数

测试使用的JS文件, main.js

//main.js JS文件内容
//测试注册自定义回调函数
var ret = XC_Callback("XC_Callback");
alert(ret, "返回值");
ret = XC_Callback2("XC_Callback2",100);
alert(ret, "返回值");

易代码

.版本 2
.程序集 程序集1
.程序集变量 hWindow, 整数型
.程序集变量 hButton, 整数型
.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
XInitXCGUI ({ }) ' //初始化
XJS_InitJS () ' 参数化JS
XJS_Callback_Reg (L (“XC_Callback”), &my_callback_js) ' 注册JS回调易函数
XJS_Callback_Reg (L (“XC_Callback2”), &my_callback_js2) ' 注册JS回调易函数
XJS_RunJS (“main.js”) ' 运行JS文件
XRunXCGUI () ' //运行
XExitXCGUI () ' //释放资源
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 my_callback_js
.参数 args, 整数型
.局部变量 count, 整数型
.局部变量 number, 整数型
.局部变量 str, 整数型
.局部变量 text, 文本型
count = XJS_Callback_GetArgsCount (args)
.如果真 (count > 0 且 XJS_Callback_IsString (args, 0))
str = XJS_Callback_GetString (args, 0)
text = XC_wtoa_ (str)
输出调试文本 (text)
.如果真结束
.如果真 (count > 1 且 XJS_Callback_IsNumber (args, 1))
number = XJS_Callback_GetNumber (args, 1)
输出调试文本 (number)
.如果真结束
XJS_Callback_SetReturnValueString (args, L (“返回值: my_callback_js”))
.子程序 my_callback_js2
.参数 args, 整数型
.局部变量 count, 整数型
.局部变量 number, 整数型
.局部变量 str, 整数型
.局部变量 text, 文本型
count = XJS_Callback_GetArgsCount (args)
.如果真 (count > 0 且 XJS_Callback_IsString (args, 0))
str = XJS_Callback_GetString (args, 0)
text = XC_wtoa_ (str)
输出调试文本 (text)
.如果真结束
.如果真 (count > 1 且 XJS_Callback_IsNumber (args, 1))
number = XJS_Callback_GetNumber (args, 1)
输出调试文本 (number)
.如果真结束
XJS_Callback_SetReturnValueString (args, L (“返回值:my_callback_js2”))
void WINAPI XExitXCGUI()
炫彩_退出 退出界面库释放资源. 不可在dllmain()中卸载, 否则会死锁
Definition: App.cpp:572
BOOL WINAPI XInitXCGUI(BOOL bD2D)
炫彩_初始化 初始化界面库.
Definition: App.cpp:557