Foxtable(狐表)用户栏目专家坐堂 → 自定义函数问题


  共有4116人关注过本帖树形打印复制链接

主题:自定义函数问题

帅哥哟,离线,有人找我吗?
ljz
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:273 积分:3400 威望:0 精华:0 注册:2012/4/20 16:43:00
自定义函数问题  发帖心情 Post By:2016/1/9 17:36:00 [只看该作者]

functions.execute(“函数名”,“参数1”,“参数2”,“参数3”,……)

能不能这样改成:

dim s as string=“函数名”&“,”&“参数1” &”,“&“参数2”&”,“&“参数3”,……

functions.execute(s)


 回到顶部
帅哥哟,离线,有人找我吗?
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:321 积分:1916 威望:0 精华:0 注册:2014/8/24 13:36:00
  发帖心情 Post By:2016/1/9 20:47:00 [只看该作者]

不行的,因为函数的原型是 functions.execute(string,object())

 

你可以

 

dim obj() as object = {参数1,参数2,……}

 

functions.execute(函数名,obj)

 

或者自己做一个函数来做统一的接口

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
ljz
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:273 积分:3400 威望:0 精华:0 注册:2012/4/20 16:43:00
  发帖心情 Post By:2016/1/9 20:51:00 [只看该作者]

好的,谢谢指点

 回到顶部
帅哥哟,离线,有人找我吗?
ljz
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:273 积分:3400 威望:0 精华:0 注册:2012/4/20 16:43:00
  发帖心情 Post By:2016/1/9 22:39:00 [只看该作者]

Dim cs() As String
cs =r("参数").Split(",")'r(“参数”)里面存放函数的若干参数
Dim Names() As object                             

Dim objs As New List(Of object)
        
For i As Integer =0 To cs.Length -1
                      objs.Add(cs(i))
        Next
 Names=objs.ToArray() '将集合转换为数组      
Functions.execute(“函数1”,Names)
代码执行提示错误,高手帮指点


 回到顶部
帅哥哟,离线,有人找我吗?
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:321 积分:1916 威望:0 精华:0 注册:2014/8/24 13:36:00
  发帖心情 Post By:2016/1/9 22:52:00 [只看该作者]

什么错误?

是参数传递错误,还是函数执行错误

如果你的参数都是String型的

Dim cs() As String
cs =r("参数").Split(",")    'r(“参数”)里面存放函数的若干参数

   ’判断一下空值
Functions.execute(“函数1”,cs)


 回到顶部
帅哥哟,离线,有人找我吗?
ljz
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:273 积分:3400 威望:0 精华:0 注册:2012/4/20 16:43:00
  发帖心情 Post By:2016/1/9 23:00:00 [只看该作者]

我传递的参数是e,object型的。

函数代码是

Dim e As object = args(0)
e.sender.ShowToolTip("您好", 3000)

错误如下图


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160109225834.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
ljz
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:273 积分:3400 威望:0 精华:0 注册:2012/4/20 16:43:00
  发帖心情 Post By:2016/1/9 23:01:00 [只看该作者]

函数名是“提示”

 回到顶部
帅哥哟,离线,有人找我吗?
ljz
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:273 积分:3400 威望:0 精华:0 注册:2012/4/20 16:43:00
  发帖心情 Post By:2016/1/9 23:02:00 [只看该作者]

Dim cs() As String
cs =r("参数").Split(",")'r(“参数”)里面存放函数的若干参数
Dim Names() As object                             

Dim objs As New List(Of object)
        
For i As Integer =0 To cs.Length -1
                      objs.Add(cs(i))
        Next
 Names=objs.ToArray() '将集合转换为数组      
Functions.execute(“提示”,Names)


 回到顶部
帅哥哟,离线,有人找我吗?
ljz
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:273 积分:3400 威望:0 精华:0 注册:2012/4/20 16:43:00
  发帖心情 Post By:2016/1/10 7:41:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.zip
这是例子,请高手帮忙

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/10 11:23:00 [只看该作者]

 不能直接把字符串用来用啊,动态编译。

 

Functions.remove("函数")
Dim Code As String
Code = "msgbox(123)" & vbcrlf
Functions.Add("函数",Code)
Functions.Complie()
Functions.Execute("函数")


 回到顶部