aardio 文档

thread.command 库模块帮助文档

thread 成员列表 #

thread.command() #

返回对象:threadCommandObject

thread.command(窗口对象) #

创建线程命令订阅对象,
省略窗口对象则创建 message only window

thread.command 成员列表 #

创建线程命令订阅对象,返回对象可传入其他线程使用。
返回对象添加的成员函数,都可在其他线程中调用。

thread.command.bind() #

返回对象:threadCommandBindObject

thread.command.bind(hwndListener) #

绑定监听对象窗体句柄
可添加绑定任意个默认调用参数

thread.command.instance() #

全局单实例线程命令订阅对象

返回对象:threadCommandObject

thread.command.invoke("命令名",线程函数,调用参数) #

thread.command.invoke(    
    "/*创建线程  
使用线程函数的返回值作为参数触发该命令*/" ,function( ... ){  

    },   
)

thread.command.post("命令函数名",其他参数) #

不阻塞调用跨线程命令,不接收返回值
不指定窗口句柄,所有同名的线程命令函数都会被调用
函数无返回值

thread.command.post(窗口句柄,"命令函数名",其他参数) #

不阻塞调用跨线程命令,
参数@1指定句柄时,超过消息队列限制发送失败返回false,否则返回true

thread.command.postIdle(延时值,"命令函数名",其他参数) #

在指定的延时值内忽略部分消息
其他同post函数

thread.command.postIdle(延时值,窗口句柄,"命令函数名",其他参数) #

在指定的延时值内忽略部分消息
其他同post函数

thread.command.send("命令函数名",其他参数) #

阻塞调用跨线程命令,
注意send函数发送的消息有可能比之前post函数发送的消息更早被接收
不指定窗口句柄,所有同名的线程命令函数都会被调用,
可获取回调函数的返回值,默认返回空值

thread.command.send(窗口句柄,"命令函数名",其他参数) #

阻塞调用跨线程命令,
注意send函数发送的消息有可能比之前post函数发送的消息更早被接收
可获取回调函数的返回值,默认返回空值

thread.command.sendIdle(延时值,"命令函数名",其他参数) #

在指定的延时值内忽略部分消息
其他同send函数

thread.command.sendIdle(延时值,窗口句柄,"命令函数名",其他参数) #

在指定的延时值内忽略部分消息
其他同send函数

thread.command.sendInvoke("命令函数名",其他参数) #

调用线程命令并等待返回值,等待过程中不卡界面,
注意sendInvoke函数发送的消息有可能比之前post函数发送的消息更早被接收
不指定窗口句柄,所有同名的线程命令函数都会被调用,
可获取回调函数的返回值,默认返回空值

thread.command.sendInvoke(窗口句柄,"命令函数名",其他参数) #

调用线程命令并等待返回值,等待过程中不卡界面,
注意sendInvoke函数发送的消息有可能比之前post函数发送的消息更早被接收
可获取回调函数的返回值,默认返回空值

thread.command.命令函数名() #

如果命令函数名首字符为$以post模式异步调用命令,
否则以send模式同步调用该命令,
传入参数应与该命令定义时预设的形参一致,
send模式调用可获取回调函数的返回值,默认返回空值

threadCommandBindObject 成员列表 #

threadCommandBindObject.* #

调用send函数发送该命令,
传入参数应与该命令定义时预设的形参一致
可获取回调函数的返回值,默认返回空值

threadCommandBindObject.post("字符串参数",) #

不阻塞调用跨线程命令

threadCommandBindObject.postIdle(1000,"字符串参数",) #

阻塞调用跨线程命令,
在参数@1指定的延时值内忽略部分消息

threadCommandBindObject.send("字符串参数",) #

不阻塞调用跨线程命令

threadCommandBindObject.sendIdle(1000,"字符串参数",) #

阻塞调用跨线程命令,
在参数@1指定的延时值内忽略部分消息

threadCommandObject 成员列表 #

threadCommandObject.* #

threadCommandObject./*订阅命令函数名字,支持不定个数参数  
如果同一个名字要注册多个回调函数请使用subscribe函数,  
使用"."成员操作符可获取命令调用函数,不可使用下标,  
默认以send模式同步调用,函数名首字符为$以post模式异步调用  
send模式下返回值可阻止命令继续传递*/ = function( ... ){

}

threadCommandObject._form #

窗体对象

返回对象:winform

threadCommandObject.hwnd #

绑定监听对象窗体句柄

threadCommandObject.invoke( 线程函数,... ) #

threadCommandObject.invoke( 线程函数,...invoke(  
    function( hwndListener,... ){  
        import thread.command;  
        var notifier = thread.command.bind(hwndListener);  

        notifier.post("begin")   
        notifier.post("end")   
    },...  
)

threadCommandObject.subscribe #

订阅指定的命令

threadCommandObject.subscribe("订阅命令名字",回调函数对象) #

同一个名字可以多此调用此函数添加多个不同的关注回调函数
回调函数如果返回值可阻止命令继续传递

threadCommandObject.unsubscribe #

取消订阅指定的命令

threadCommandObject.unsubscribe("订阅命令名字",回调函数对象) #

函数无返回值

Markdown 格式