今天改祖传代码的时候发现一个很神奇的事情,
Perform 的参数和 Form 的参数不一致。(Perform传参多一个值)
代码如下:

可见,F01中,有p3 和p2 俩参数
perform 传入的l4 和 A ,类型也是匹配的。
但是,
激活却报错了

这里说的是,形式参数数量4?
我就有点不理解,为什么形式参数是4。
原来的代码里,多给了一个参数而已,如下:


相当于有一个 ‘X’ 是没用的,但是不传就会报错。
然后我多加一个参数进去

依旧报错,(按字面意思,理应4个参数才对,但是我不理解为什么祖传代码多一个参数就行)
于是,我把参数改成跟祖传代码的一致。

然后就激活成功了????????

(百度过,没找到解释,等后面有时间再去研究)
如果把form的参数p3的类型换一下,如下:

就激活成功了
此处我调试了一下,发现传入的参数,不管用type table 还是 like ,
最终参数p3的值会直接影响到 l4(传入的内表)的值。
(测试中,增加了空白行,p3增加后,同时 l4 也会增加对应行)
在修改代码时发现Perform调用的参数与Form定义的参数数量不一致,原本多一个参数却能正常运行,而改变参数数量或类型会导致错误。通过调试发现参数p3的值会影响内表l4。将p3类型调整后,激活成功。
2532

被折叠的 条评论
为什么被折叠?



