以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何编写带参数的内部函数?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57927)

--  作者:刘海屋
--  发布时间:2014/10/8 14:26:00
--  如何编写带参数的内部函数?

例如:我编写了一个带参数的内部函数如下:

Dim Arg1() As String    \'Arg1(0)=字符串1如“你好”,Arg1(1)=字符串2,如“我也很好”
Dim Arg2 As String   \'Arg2 为字符串3 如“你能来吗?”

MessageBox.Show(Arg1(0) & Arg1(1) & Arg2)

return

 

调用部分为:

 

Functions.Execute("New_TarifFileListView","你好", "我也很好", "你能来吗?")

 

这样调用有问题。请问调用部分应该如何写才正确?再次感谢。刘海屋

 


--  作者:Bin
--  发布时间:2014/10/8 14:28:00
--  
MessageBox.Show(Args(0) & Args(1) & Args(2))
--  作者:Bin
--  发布时间:2014/10/8 14:29:00
--  
http://www.foxtable.com/help/topics/1486.htm
--  作者:刘海屋
--  发布时间:2014/10/10 16:16:00
--  

谢谢您的帮助。可能我的问题未提清楚。下面是个例子:

         Dim Arg As String = "New_CommuW"
         Functions.Execute("New_EmailwithAttachment", Arg)

错误提示:

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

         ....

         System.ArgumentNULLException值不能为空

         参数名:Key

          ....

希望能得到您的进一步帮助。谢谢。

 

刘海屋

 

 

 


--  作者:有点甜
--  发布时间:2014/10/10 16:18:00
--  
 你的函数内容怎么写?
--  作者:逛逛
--  发布时间:2014/10/10 16:23:00
--  

dim str() as string = {"你好","我也很好"}

 

Functions.Execute("New_TarifFileListView",str, "你能来吗?")


--  作者:菲舍尔
--  发布时间:2014/10/10 17:26:00
--  
以下是引用刘海屋在2014-10-8 14:26:00的发言:

例如:我编写了一个带参数的内部函数如下:

Dim Arg1() As String    \'Arg1(0)=字符串1如“你好”,Arg1(1)=字符串2,如“我也很好”
Dim Arg2 As String   \'Arg2 为字符串3 如“你能来吗?”

MessageBox.Show(Arg1(0) & Arg1(1) & Arg2)

return

 

调用部分为:

 

Functions.Execute("New_TarifFileListView","你好", "我也很好", "你能来吗?")

 

这样调用有问题。请问调用部分应该如何写才正确?再次感谢。刘海屋

 

自定义函数错了,不能重复定义 args

 

直接:

 

MessageBox.Show(Arg1(0) & Arg1(1) & Arg2)

return

 

即可


--  作者:刘海屋
--  发布时间: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)

 

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

刘海屋


--  作者:逛逛
--  发布时间:2014/10/10 21:35: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)

 

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

刘海屋


--  作者:刘海屋
--  发布时间:2014/10/11 17:35:00
--  
我的问题其实很简单。就是:FoxTable中带参数(1 个以上的字符串参数)的内部函数的写法,和调用程序的句法。简单写一个小例子即可。谢谢