发布 sciterEx 扩展库, 增加一种定义本机函数的方法

By terrorist at 2022-05-31 • 0人收藏 • 878人看过

增加一种定义本机函数的方法


扩展库源码

http://https://github.com/btx638/aaz-aardio/tree/master/aaz/sciterEx


使用:

import win.ui;
/*DSG{{*/
var winform = win.form(text="external 接口";right=1014;bottom=523)
winform.add()
/*}}*/

import aaz.sciterEx;  
import web.sciter.debug

var wb = aaz.sciterEx( winform ); 
wb.attachEventHandler(web.sciter.debug)
 
// 定义本机函数, 可以在 sciter 脚本里面调用
wb.defineNativeFuntion("add",function(a, b, onEnd){
	onEnd(true, "我是回调函数的参数")
	return a+b; 
})

// 定义本机函数,如果要返回多个值,由于 js 不支持多返回值,那么装在数组里
wb.defineNativeFuntion("add2",function(a, b){
	return {a;b}; 
})

wb.html = /**
<body> 
<button id="my-button">调用本机 add 函数</button> 
<button id="my-button2">多返回值</button> 
<script>

var button = document.getElementById("my-button");
button.addEventListener('click', () => { 
    let ret = Window.this.xcall("add",2, 1, (ok, ret)=>{
        console.log("本机调用完毕时的回调函数",ok, ret)
    } )
    console.log( "本机函数返回值" ,ret)
})

var button = document.getElementById("my-button2");
button.addEventListener('click', () => { 
    let [a,b] = Window.this.xcall("add2",2, 1)
    console.log( "本机函数返回值" ,a,b)
})

document.onGlobalEvent("全局事件",(evt)=>{
	console.log("受到来自本机发布的全局事件", evt.data)
})

</script>
</body>
**/

// 3秒后发布全局事件
winform.setTimeout( function(){
	wb.publish("全局事件", "全局事件的附加数据")	
}, 3000)





winform.show();	
win.loopMessage();


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...