请问自定义类型的一个问题
我在一个标准模块中定义个public的type
然后在一个类模块的public方法中声明一个这个type的变量作为参数,编译出错:
Only public user defined types defined in public object modules can be used as parameters or return types for public procedures of class modules or as fields of public user defined types
请问该如何解决?
问题点数:100、回复次数:12Top
1 楼tangxiaosan001(阿三)回复于 2004-05-04 19:16:45 得分 5
首先,看看是不是有这个type名。
其次,当然看有没有定义错了咯。
不过一楼帮你顶。Top
2 楼daisy8675(莫依 沉迷)回复于 2004-05-04 19:18:47 得分 5
Public Type SysOptions
name as string
Meno as string
end type
Public Options As SysOptionsTop
3 楼facedeath(facedeath)回复于 2004-05-04 19:19:37 得分 0
谢谢
type名没错
这两个模块都是我从另一个工程里弄过来的,在另一个工程里的时候用得好好的,不明白怎么回事。Top
4 楼supergreenbean(超级绿豆(MSMVP - VB) - 升级归来~)回复于 2004-05-04 19:23:26 得分 0
建个公共的新类,然后把Type声明放到那里去,不要放在标准模块里Top
5 楼facedeath(facedeath)回复于 2004-05-04 19:24:10 得分 0
谢谢,我是想作为参数用的,应该如何写?Top
6 楼facedeath(facedeath)回复于 2004-05-04 19:27:47 得分 0
请问如何建公共的新类?我用project->add class module
然后定义,出错:
cannot define a public user-defined within a private object moduleTop
7 楼kmzs(.:RNPA:.山水岿濛)回复于 2004-05-04 19:32:01 得分 0
放在标准模块也不应该有问题Top
8 楼supergreenbean(超级绿豆(MSMVP - VB) - 升级归来~)回复于 2004-05-04 20:13:41 得分 0
把类的Instancing属性改成GlobalMultiUse看看Top
9 楼facedeath(facedeath)回复于 2004-05-04 21:57:43 得分 0
没有这个属性啊Top
10 楼broown(程序员吃鱼香肉丝是很合理的)回复于 2004-05-05 04:55:25 得分 0
upTop
11 楼binaryfox(小剑客)回复于 2004-05-05 05:35:13 得分 0
UPTop
12 楼boywang(大力水手)回复于 2004-05-05 07:51:06 得分 90
自定义的类型是不能作为函数(or过程)参数传递的,
你可以重新定义一个相应的类,或者在传递参数是象一些api一样:传递结构的第一个参数的地址,在函数(or过程)中把类型还原出来。Top




