Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
User defined type problem
I have a public User defined type that i would like to use throughout my
code. I have put it in a module. However, when I have a class that contains a scripting.dictionary of these types return the Type in a function, I get the following 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" Then, when I try to put the public type definition in the class module, it complains: "Cannot define a Public user-defined type within an object module" What is going on? How can I get around this? It seems as though the errors are saying two contradictory things. Any help would be most appreciated. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
User defined type problem
I'm afraid I didn't say exactly what i meant. To clear up all
confusion, the code is below. The problem occurs when I want to store many of these Types in a Collection or Dictionary. The compiler complains about various things, depending on where and what scope the Type is defined with. Basically, I want to store a LOT of MyType records in a dictionary so that I can immediately summon on by Key. If I cannot do this directly, I guess an alternative would be to store them in an array, and store the keys and array indices in a dictionary. However, this is a little less intuitive and natural, and a lot more annoying. Any help would be appreciated. ################################################ Module code ################################################ Type MyType Item1 As String * 6 Item2 As Double End Type ################################################ Class Module code ################################################ Private colItems As Collection Private Sub Class_Initialize() Set colItems = New Collection End Sub Public Sub Add(ByRef WhichItem As MyType) colItems.Add WhichItem End Sub Public Function Item(ByVal Index As Long) As MyType Item = colItems.Item(Index) End Function |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Excel Message "user defined type not defined" | Excel Discussion (Misc queries) | |||
"User-defined type not defined" message in Excel | Excel Discussion (Misc queries) | |||
User Defined type not defined | Excel Programming | |||
User defined data type | Excel Programming | |||
Word.Document - user defined type not defined | Excel Programming |