Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Beginner
Jun 26, 1998



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Problems with TypeOf

   Dim oX as Object
   Set oX = optChoice1
   If TypeOf oX is CheckBox Then...
If optChoice1 is a CheckBox the If... will be true unless optChoice1 is an element in a control array. Is there a way to pass it and have it properly identified?

I can't seem to reproduce your problem here, using VB5/SP3, so perhaps this has been addressed by a more recent version than you're using? FWIW, here's the code I tried:

Private Sub Command1_Click()
   Dim oX As Object
   Dim oY As Object
   Set oX = Check1(0)
   Set oY = oX
   If TypeOf oY Is CheckBox Then
      Debug.Print "It worked"
   End If
End Sub
But, with that said, let me pass on some hard-earned advice. There are definitely times when TypeOf can fail for no apparent reason. Most notably when used within an (external) ActiveX object.

The best habit to get into is to use the TypeName() function, rather than TypeOf, and generally your problem will be quickly resolved.

DevX Pro
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date