以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于QQClient的ReceivedMessage事件的参数写法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149005)

--  作者:ap9709130
--  发布时间:2020/4/21 9:21:00
--  关于QQClient的ReceivedMessage事件的参数写法
 老师

  以前在函数中可以这样写: Dim e As object = args(0)  然后就可以引用 e 参数了.可升级到新版后就会报错.

  索引超出了数组界限。  新版如果要引用e 参数,要怎么写? 多谢!

--  作者:有点蓝
--  发布时间:2020/4/21 9:24:00
--  
外部调用函数的时候有没有插入e参数,贴出具体代码说明
--  作者:ap9709130
--  发布时间:2020/4/21 9:28:00
--  
 蓝老师

具体如果.在事件上中只有函数abc
Functions.Execute("abc")


 abc 代码只有2行.
MessageBox.show(0)
Dim e As object = args(0)

第一行可以出来,第二行报错.索引超出了数组界限。

--  作者:有点蓝
--  发布时间:2020/4/21 9:38:00
--  
没有添加参数:Functions.Execute("abc",e)

执行函数

Foxtable提供了一个Functions类型,用于管理和执行自定义函数,执行自定义函数的语法为:

Functions.Execute(函数名, 参数1, 参数2, 参数3....)

示例一

增加一个自定义函数,名称为Max,代码为:

Dim MaxVal As Double = Args(0)
For
 i As Integer = 1 To Args.Length - 1
    MaxVal = Math.Max(MaxVal,Args(i))

Next
Return
 MaxVal

该自定义函数可以比较任意个数的参数,并返回最大的一个,例如在命令窗口执行:

Output.Show(Functions.Execute("Max",1,3,5,7,9))


--  作者:ap9709130
--  发布时间:2020/4/21 10:04:00
--  
 低级错误. 多谢蓝老师!