' TÄÄ KAIKKI ON MODULESSA!
Public Type tUDT
x As Integer
End Type
' TÄÄ KAIKKI ON CLASS MODULESSA!
Public Sub Increase(a As tUDT)
MsgBox a.x
End SubCompile 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.
Tyyppi täytyy määritellä class modulessa, kuten ohjeessa lukee. Eli hyvin hyvin pikaisena käännöksenä: "Kääntämisvirhe: vain julkiset käyttäjän julkisessa objektimoduulissa määrittelemät tyypit voivat olla parametreinä tai palautusarvoina luokkamoduulin julkisille proseduureille tai käyttäjän määrittämän tyypin kenttinä."
julkinen objektimoduuli on se perusmoduuli (.bas) eikä suinkaan class module. Class module on "Private Object Module" samoin kuin formin moduuli. Teen kyllä niinkuin virheilmoituksessa käsketään tehdä mutta silti se väittää että en tee niin.
Friend Sub Increase(a As tUDT)
MsgBox a.x
End SubToimii.
Aihe on jo aika vanha, joten et voi enää vastata siihen.