VERSION 1.0 CLASS BEGIN MultiUse = -1 'True Persistable = 0 'NotPersistable DataBindingBehavior = 0 'vbNone DataSourceBehavior = 0 'vbNone MTSTransactionMode = 0 'NotAnMTSObject END Attribute VB_Name = "CAssocArray" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = False Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes" Attribute VB_Ext_KEY = "Top_Level" ,"No" Attribute VB_Ext_KEY = "Collection" ,"CAssocItem" Attribute VB_Ext_KEY = "Member0" ,"CAssocItem" Private mCol As Collection Public Function Add(key As String, value As Variant) As CAssocItem Set Add = New CAssocItem Add.key = key If IsObject(value) Then Set Add.value = value Else Add.value = value End If Call mCol.Add(Add, key) End Function Public Property Get Item(vntIndexKey As String) As CAssocItem Attribute Item.VB_UserMemId = 0 Set Item = mCol(vntIndexKey) End Property Public Property Get Count() As Long Count = mCol.Count End Property Public Sub Remove(vntIndexKey As String) Call mCol.Remove(vntIndexKey) End Sub Public Property Get NewEnum() As IUnknown Attribute NewEnum.VB_UserMemId = -4 Attribute NewEnum.VB_MemberFlags = "40" Set NewEnum = mCol.[_NewEnum] End Property Private Sub Class_Initialize() Set mCol = New Collection End Sub Private Sub Class_Terminate() Set mCol = Nothing End Sub Public Function exists(key As String) As Boolean On Error Resume Next Call IsObject(mCol(key)) If Err > 0 Then exists = False Else exists = True End If End Function