Hi, I'm quite new to this forum, it's my first post, but it's been of some help in the past. I have a big problem, some VB6 code I have the chance to maintain doesn't work anymore.

I didn't change any code, but accidentally removed one of its dependencies (APEX True DBList Pro 6.0) and then reinstalled it after realizing my error. But now the project crash with "Run-time error '13': Type mismatch", so I investigated this problem and didn't found any way around it.

What is causing this error is that our main 'Standard EXE' application is calling a function (SetStdForm) in an ActiveX DLL with one of its Form has argument. Here's the isolated code that call the DLL:

Public WithEvents Rules As PCRules.Rules

Private Sub Form_Load()
Set Rules = New Rules
Rules.SetStdForm Me
End Sub

In that DLL, the Form is received by SetStdForm as an Object and then it set a private variable of type Form with this Object. It during the Set that the error happen. Here's the code form the DLL:

Private p_Form As Form

Public Function SetStdForm(ThisForm As Object, ...)
...
Set p_Form = ThisForm
...

So my questions are: Why is this error happening, it was working before and is still in production? What's the relation between this error and the dependency I reinstalled, considering I reinstalled the same version at the same place in the filesystem?

The DLL act as a kind of stylesheet, it apply some custom properties for every control in the main application. It's quite encrusted into the main program and I can't remove it easily. And

In my searches to find a way around that problem, I've found this Knowledge Base article which is relatively close to it: http://support.microsoft.com/kb/190210.

Thank you for reading this far!