调用子程序时不能使用括号
一般情况下,这种错误出现在调用的过程没有返回值的情况。应该来说,就是调用参数赋值错误。出现这种错误,使用CALL 就是可以解决的。
不返回值的过程调用不能加括号,应该这样写
treesort cat_ID,childcount
如果实在不习惯,可以在前面加Call来调用
Call treesort(cat_ID,childcount)
也就是所谓的有call时加括号,没有call时不用括号。另外,在函数名和参数间要加个空格。
ASP中调用子程序时不能使用括号错误处理
记得好久以前写代码时就遇到过这样的问题,调用自己写的函数时出现过“调用子程序时不能使用括号”的错误。当时我很是不解,但常规这样的写法是对的,在其他编程语言上都是在调用函数时是使用括号并且在括号里传递参数的。
记不大清楚当时怎么处理,好像是把函数去掉了吧,可能由于时间紧也就没去查资料。
今天我又遇到这个,于是我在baidu里一搜索,结果出来了。。。
先来说下function和sub的区别:function称为函数,有返回值;sub称为过程,不能有返回值。当然都可以传递参数给他们的。
今天我写的那个是sub,起初是传递一个参数进去,并且没有返回值,调用时使用括号,一切正常;
后来因为需要我修改为传递两个参数进去,还是没有返回值,调用时使用括号,于是报错“调用子过程不能使用括号”。
处理办法:由于不需要返回值,所以将function改为sub,调用时去掉括号,形如“sub_name s1,s2”