hur ska man kolla vilken typ av objekt en instance är? För att testa vilken typ av klass som en objekt-variabel refererar till skall du använda 'TypeOf' i VB, ex: TypeName(Objekt) returnerar namnet på klassen för 'Objekt', då behöver man inte veta när man programmerar vad man ska leta efter för klassnamn. Om du vill testa ett specifikt objekt och utföra olika saker beroende på vilket objekt det är så kan du alltså göra såhär:kolla vilken typ en instance är??
tex.
dim a as myClass
a = new myClass
!!!!det är här som jag skulle kunna testa vilken typ av klass det är!
select a
case myClass
msgbox ("Myclass")
case yourClass
msgbox ("yourClass")
end select Sv: kolla vilken typ en instance är??
<code>
Dim o As Class1
Set o = New Class1
If TypeOf o Is Class1 Then
MsgBox "Class1!"
End If
</code>
Vill du istället använda Select Case är det bättre att göra en 'omvänd' jämnförelse där du kollar om resultatet av testet är True, ex:
<code>
Dim o As Object
Set o = New Class1 'eller någon annan klass
Select Case True 'Endast en av testerna nedan skall bli True
Case TypeOf o Is Class1
MsgBox "Class1"
Case TypeOf o Is Class2
MsgBox "Class2"
Case Else
MsgBox "Unknown"
End Select
</code>
Lycka till!
// RonnySv: kolla vilken typ en instance är??
/johan/Sv: kolla vilken typ en instance är??
<code>
Dim o As Object
Set o = New Class1 'eller någon annan klass
Select Case TypeName(o)
Case "Class1"
'Det är en Class1
Case "Class2"
'Class2
Case Else
'Något annat
End Select
</code>
Ja, det var ju bättre! :-)
//Qezlot