請教一下關於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:你號碼多少啊?

注意!

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



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