Strange error message when loading a collection with an item of userdefined type

D

deltaquattro

Hi,

I want to store an unknown number of records, read from a txt data,
into a Collection. Each record is made of 26 strings, so I defined a
user-defined type Record:

Const NLines As Long = 26
Type Record
Lines(NLines) As String
End Type
Dim MyRecord As Record

I also defined a Collection object to store all the record:

Dim List As Collection
Set List = New Collection

However, when I read a record and then try to load it into List:

Data.Add Item:=MyRecord

I get this incomprehensible (for me) error message:

"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's happening? Can you help me? Thanks in advance,

Best Regards

deltaquattro
 
A

aflatoon

Hello,
I think your problem is that you cannot coerce the UDT to a Variant t
pass to the Add method. You may as well create your own Record clas
rather than using a UDT and pass an instance of that to the collectio
instead.
HTH.
 
D

deltaquattro

Hi aflatoon,

thank you very much, that worked! Now I can start struggling with all
the other problems concerning the UDT-to-Class migration ;) thanks
again,

Best Regards

deltaquattro
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top