请教一下关于s用户自定义类型(udT)的问题


我在公共模块(model.bas)中有个功能函数,其中参数是一个自定义的类型,这个类型就在这个模块中定义的,然后在窗体中可以正常的通过设定好这个类型的值来调用,
但是当我在一个类模块中的函数中用这个类型做参数时,却报错误说定义类型错误,我该如何定义这个类型才可以在类模块中使用啊?
看了一下msdn,好像说是类中不能这么做?到底可不可以啊?

16 个解决方案

#1



  要在类里也声明这个UDT才行!

#2


我申明了呀
'
class models
'dim a as addadmintype
public function addAdmin(a as addadmintype)as boolbean
';;;;;;;;;;;;
end function

#3



  不是这样,是要把这样的写入:
  private type addadmintype
   ...
  end type

  
  

#4


如果这样定义了,那我在其他form中如何传递此UDT到函数啊?类中只能定义私有变量,
在外部需要另外定义一个同样类型,但名字不同得UDT才可以申明了

而且我现在这样定义了还跑原来一样得错误
private Enum and user defined types cannot be used as parameters or return types for public procedures, pulic data members,or fields of pulic user defined types

怎么好像说私有用户自定义类型不能用于公共进程中啊

当我把定义改为public type dddsh 时,
编译出错,cannot define a Public user-defined type within a private object module

我晕了,这到底可不可以实现啊?]

#5


我把这些放在modules中,就没有什么问题

#6


在类模块中:
Public Type addadmintype
  ...
End Type
当然模块中和其他的类模块中就不能再定义了。

  
  

#7


我在类模块中不能定义这个
public type addadmintype
  ....
end type
报错说cannot difine a Public user-defined type within a private object module
为何类模块中无法定义全局性变量啊?是否对于类模块有不同的要求?

#8


在标准模块中,用户自定义类型按缺省设置是公用的。可以使用 Private 关键字来改变其可见性。而在类模块中,用户自定义类型只能是私有的,且使用 Public 关键字也不能改变其可见性。-----引自msdn

我记得听过:可以用用户自定义类型作为函数参数来传递,但这个仅局限于标准模块和窗体间传统参数码?  不能与类模块进行类似的传递嘛?

#9


啊,你的类模块是私有的啊!

#10


你的工程是 ActiveX Dll 还是 Standard Exe ?

#11


standard exe

#12


看来先放在标准模块算了,呵呵
谢谢几位,我的icq:75257848
可否联系联系,希望能认识很多这儿的朋友
对了,qq是:331966

#13


我怎么不能给分啊?

#14


to:Amoon(阿木)
   你的QQ都不开,让我找谁去

#15


哦,马上就开啦

#16


2amoon:你号码多少啊?
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告