ADICIONAR TYPE A UM DICTIONARY

DAVIDTERRA 04/05/2011 15:14:27
#373210
Boa tarde,

Como adiciono um objeto Type ao Dictionary?

  Private Type Temp
Codigo As Long
Texto As String
End Type

Dim Tmp As Temp

Private Sub Command1_Click()
Dim dicLista As New Dictionary

Tmp.Codigo = 1
Tmp.Texto = [Ô]MACA[Ô]

dicLista.Add dicLista.Count, Tmp


End Sub


Citação:


---------------------------
Microsoft Visual Basic
---------------------------
Compile error:

Only user-defined types defined in public object modules can be coerced to or from a variant or passed to late-bound functions
---------------------------
OK Ajuda
---------------------------



Obrigado
MARCELO.TREZE 04/05/2011 15:45:09
#373212
tente apenas type

Type temp
codigo As Integer
texto As String
End Type


ou coloque em um módulo

Public Type temp
codigo As Integer
texto As String
End Type


DAVIDTERRA 04/05/2011 15:52:26
#373213
Citação:

:
tente apenas type

Type temp
codigo As Integer
texto As String
End Type


ou coloque em um módulo

Public Type temp
codigo As Integer
texto As String
End Type




Adicionei a Type em um Módulo das duas formas citadas e continuo recebendo a mensagem de erro.
MARCELO.TREZE 04/05/2011 17:04:21
#373218
olha como fiz e funcionou

Private Type Temp
Codigo As Long
Texto As String
End Type

Dim Tmp As Temp

Private Sub Command1_Click()
Dim dicLista As New Dictionary

Tmp.Codigo = 1
Tmp.Texto = [Ô]MACA[Ô]

dicLista.Add Tmp.Codigo, Tmp.Texto

MsgBox dicLista.Item(1)
End Sub
DAVIDTERRA 04/05/2011 17:34:46
#373221
Citação:

:
olha como fiz e funcionou

Private Type Temp
Codigo As Long
Texto As String
End Type

Dim Tmp As Temp

Private Sub Command1_Click()
Dim dicLista As New Dictionary

Tmp.Codigo = 1
Tmp.Texto = [Ô]MACA[Ô]

dicLista.Add Tmp.Codigo, Tmp.Texto

MsgBox dicLista.Item(1)
End Sub



Caso tenha mais valores, como adicionar ao dicionário?

  
Private Type Temp
Codigo As Long
Texto As String
Tipo As String
Total as String
End Type
KERPLUNK 05/05/2011 10:21:16
#373262
Resposta escolhida
Para o que vc está fazendo, melhor criar uma classe e não um type.
Tópico encerrado , respostas não são mais permitidas