Problems with the COM-Wrapper Wizard

I recently got the following strange error-message during the execution of the COM-wrapper wizard:

"Method 'Item' in COM-object for class 'Interfaces' returned
error code 0x800A0009 (<unknown>) which means: <unknown>"

Debugging the wizard, I recognized that at the origin of this problem was an object that shouldn’t have been identified as a COM-object. Since it was a commercial product I couldn’t fix that behavior and the COM-wrapper wizard does unfortunately not allow me to choose the objects I like to wrap (and with that deselecting this particular object), I had to write a little workaround by modifying the wizard.

If once you have the same problem, just modify the “initiateClassCreation”-method of the SysCOMWrapperGen-class like this (I highlighted the modified code bold and italic):

    1:  if (inheritedInterface)
    2:  {
    3:     //REM : Correction in order to prevent pointing to an unexisting position
    4: if (inheritedInterface.ImpliedInterfaces().Count() > 0)   
    5:     {
    6:        if (inheritedInterface.ImpliedInterfaces().Item(1).Name() != 
    7:          'IDispatch' && inheritedInterface.ImpliedInterfaces().Item(1).Name() != 
    8:          'IUnknown')
    9:       {
   10:            inheritedInterface = 
   11:            inheritedInterface.ImpliedInterfaces().Item(1);
   12:            inheritString = 'extends ' + Prefix + 
   13:            inheritedInterface.Name();
   14:       }
   15:     }  
   16:  }