I want a class to have a property taht returns and takes a UDT.
But it won't work.

My code:
VB Code:
  1. 'Module:
  2. Public Type tA
  3.     B As Long
  4. End Type
  5.  
  6. 'Class:
  7. Private vA As tA
  8.  
  9. Public Property Get A() As tA
  10.     A = vA
  11. End Property
  12. Public Property Let A(val As tA)
  13.     vA = val
  14. End Property
  15.  
  16. 'Form:
  17. Private C As Class1
  18.  
  19. Private Sub Form_Load()
  20.     Set C = New Class1
  21.     C.A.B = 1
  22. End Sub
This gives a compiler error:
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
What am I doing wrong?
How do I make a public object module?