Foxtable(狐表)用户栏目专家坐堂 → 如何编写带参数的内部函数?


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

主题:如何编写带参数的内部函数?

帅哥哟,离线,有人找我吗?
唐尸三摆手
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2014/10/11 17:50:00 [只看该作者]

'自定义函数名

New_EmailWithNoAttachment

'内容如下
Dim frmName As String = Args(0)
Dim ctlName As String = Args(1)
'Dim New_EmailWithNoAttachment() As String = Args(2) '这句看似起了反作用,与函数同名的原因
Dim Pnl2 As WinForm.Panel = Forms(frmName ).Controls(ctlName )
Pnl2.Visible = True

'窗口内按钮调用该函数
Functions.Execute(("New_EmailwithNoAttachment"), e.form.Name, "Panel1")

'测试结果正常
'分析,楼主报错的原因可能是那句Dim New_EmailWithNoAttachment() As String = Args(2)

 

'总结

有几个参数就得在函数内部定义几个Args

外部调用的参数数量要与内部定义的参数数量一致。

[此贴子已经被作者于2014-10-11 17:55:15编辑过]

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


加好友 发短信
等级:二尾狐 帖子:504 积分:3492 威望:0 精华:3 注册:2012/11/13 15:49:00
  发帖心情 Post By:2014/10/11 18:00:00 [只看该作者]

以下是引用刘海屋在2014-10-10 20:33:00的发言:

你好。我写全一个简化的自定义函数和其调用如下:

1。自定义函数(函数名=New_EmailWithNoAttachment):

    

Dim New_EmailWithNoAttachment() As String = Args(2)


Dim Pnl2 As WinForm.Panel = Forms(Args(0)).Controls(Args(1))
Pnl2.Visible = True

 

2. 调用程序为:

  

Functions.Execute(("New_EmailwithNoAttachment"), "New_CommuW", "Pnl2")

 

3。错误信息为:

    自定义函数“New_EmailWithNoAttachment"执行出错,错误信息如下:

      System.IndexOutOfRangeException索引超出了数组界限

      在UserCode.AE.....Azw(Objet[]Args)

 

请帮助分析错误在哪里,万分感谢。

刘海屋

函数中定义三个参数,调用的时候,给两个,这个还不出错?

 

再说了:

Functions.Execute(("New_EmailwithNoAttachment"), "New_CommuW", "Pnl2")

调用应该是这样的:

Functions.Execute("New_EmailwithNoAttachment", 参数1,参数二,参数三)

[此贴子已经被作者于2014-10-11 18:02:00编辑过]

 回到顶部
总数 12 上一页 1 2