something wrong with collections

Why doesn't Visual Basic let me add a user defined type structure variable to a collection?
Whenever i try to do that it gives me this compile error message:

"Only user-defined types defined in public object modules can be coerced to or from a variant or pressed to late-bound functions."

Please note that I defined my type strcture in public module. This error happens on this statement

Notes.Add Item:=newnote, Key:=Str(CurNote)

'newnote' is the variable that is declared as type structure. And 'Notes' is my collection.

Any idea?
mhdhallakAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
ArkConnect With a Mentor Commented:
Hi
What's about making class module Note with Public variables (or Properties) same as in your UDT. Then:
Dim Notes As New Collection
Dim newnote as Note
......
Set newnote = New Note
Notes.Add Item:=newnote, Key:=Str(CurNote)

Cheers

0
 
Erick37Commented:
"PRB: Can't Use Late Binding When Server Method Uses UDT"
http://support.microsoft.com/support/kb/articles/Q184/8/98.ASP
0
 
mhdhallakAuthor Commented:
Adjusted points from 10 to 20
0
 
mhdhallakAuthor Commented:
Erick37,

I read that page but it doesn't quite help me because it deals more with activex servers you create. In my case, i am dealing with Collection. I can't possible modify that because it's built in Visual Basic.

so what do you think i should do?

Anybody?
0
 
pclementCommented:
The standard Collection object will accept any value that can be stored in a Variant. Unfortunately you cannot store a UDT in a Variant.

If you must use the standard Collection object the only alternative is to convert your UDT to a Class as suggested by Ark.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.