以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  内部函数用字符串数组作参数时数组会被拆为单字符数组,求助解决方法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149973)

--  作者:wfkbabro
--  发布时间:2020/5/17 9:10:00
--  内部函数用字符串数组作参数时数组会被拆为单字符数组,求助解决方法

内部函数用字符串数组作参数时数组会被拆为单字符数组,求助解决方法,谢谢。

 

内部函数:

\'Functions.Execute("ns_内部函数写在foxtable里的测试01",ta1)
msgbox("参数1的类型:" & TypeName(args(0)) & ",参数1数组(0),本应显示第1个字符串却只显示了第1个字符:" & args(0)(0))

 

 

按钮事件:

Dim ta1(2)
ta1(0) = "str0"
ta1(1) = "字符1"
ta1(2) = "字符2"
Functions.Execute("ns_内部函数写在foxtable里的测试01",ta1)

 

期待效果:显示 str0 这个字符串

实际效果:显示 str0的第1个字符 s

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:foxtable测试项目_内部函数用字符串数组作参数时数组会被拆为单字符数组

 

foxtable版本为2020.5.1官网下载安装的免费版

[此贴子已经被作者于2020/5/17 9:18:21编辑过]

--  作者:y2287958
--  发布时间:2020/5/17 11:09:00
--  
一、自定义函数test代码:
Dim sz(args.Length) As String
msgbox(args(0))

二、函数调用:
Dim ta1(3)
ta1(0) = "str0"
ta1(1) = "字符1"
ta1(2) = "字符2"
Functions.Execute("test",ta1)

--  作者:有点蓝
--  发布时间:2020/5/17 19:13:00
--  
随便再传多一个参数即可

Dim ta1(2)
ta1(0) = "str0"
ta1(1) = "字符1"
ta1(2) = "字符2"
Functions.Execute("ns_内部函数写在foxtable里的测试01",ta1,True)

--  作者:wfkbabro
--  发布时间:2020/5/18 20:47:00
--  
以下是引用有点蓝在2020/5/17 19:13:00的发言:
随便再传多一个参数即可

Dim ta1(2)
ta1(0) = "str0"
ta1(1) = "字符1"
ta1(2) = "字符2"
Functions.Execute("ns_内部函数写在foxtable里的测试01",ta1,True)

谢谢蓝版,加多一个参数是什么原理呢图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/5/18 20:59:00
--  
foxtable设计的时候就这样的,如果只有一个参数,且是数组,会被展开作为多个参数使用

Functions.Execute("ns_内部函数写在foxtable里的测试01",ta1)
等同
Functions.Execute("ns_内部函数写在foxtable里的测试01",ta1(0),ta1(1),ta1(2))