vb类模块中无法将bas中的全局变量作为函数参数传递?
我在bas中定义一个全局Type变量A。
在cls中定义一个函数B(byval ss as A),编译时,提示无法使用A作为参数类型。
这是怎么回事?
[解决办法]
据我所知,通常情况下结构类型是不可以传值的。应该是你的参数传递方式错误。改为ByRef
[解决办法]
公共模块中的公共类型,才可以作为参数传递.
不然非公共模块中的公共类型并不能向外公开,就无法得知其结构,大小等信息,于是就无法传递了.
你新建一个DLL工程,将你需要传递的类型放在模块里PUBLIC,然后在工程里引用这个DLL,就可以使用这个类型了.
[解决办法]
type定义的数据类型,不能做为public类型的函数或者过程的参数及返回值(不管是Form中,类中,控件中,bas模块中,都不行)
解决方法
1,如果调用不超出同一个模块,改用private声明函数或过程
2,将type定义的数据类型改成一个类
[解决办法]