devxlogo

Problems with TypeOf

Problems with TypeOf

Question:
Given:

   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?

Answer:
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 IfEnd 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.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist