?
Solved

VB6 - dreaded Unexpected error (32810) with Crystal Reports components

Posted on 2007-08-10
6
Medium Priority
?
991 Views
Last Modified: 2012-05-05
I am trying to use / compile a project that someone else in my company prepared. Binary Compatibility is set and I get the Unexpected error (32810) message. From reading that I have done on the Internet, I am under the definite impression that the problem is that I have something registered on my machine that has a different TypeLib signature than the one in the binary compatibility reference dll.

I think that this is not the FileSystemObject problem (It is used, but no part of it is used in the public properties/methods/types) Also if I un-register it, the error remains.

It seems to me that my problem is Crystal Reports components. I have noticed that when I run Debug, Step Into (which causes the message) under Process Monitor from Sysinternals, it shows that crviewer.dll (used as a component) is being read just before the error. The sequence seems to be read the typelib key from the registry, read the referenced file (crviewer) and throw the error.


The project also uses craxdrt.dll as a reference. Un-registering combinations of craxdrt and crviewer changes the errors that I see as follows:
1)      Craxdrt registered and crviewer registered: Project loads OK, get Unexpected error (32810) when debug is attempted.
2)      Craxdrt registered and crviewer un-registered: Loads with &.crviewer.dll could not be loaded  Continue loading project? I answered Yes. Then Errors during load&. When you try the debug, User-defined type not defined
3)      Craxdrt un-registered and crviewer registered: Project Loads with a could not create reference to &&.craxdrt.dll. When you try the debug, The binary compatibility DLL or EXE contains a parameter type or return type whose definition can not be found
4)      Craxdrt un-registered and crviewer un-registered: Loads with &.crviewer.dll could not be loaded  Continue loading project? I answered Yes. Then get could not create reference to &&.craxdrt.dll. Then Errors during load&. When you debug, you get the The binary compatibility DLL or EXE contains a parameter type or return type whose definition can not be found

So based on the fact that un-registering these can prevent the Unexpected error (32810) message, How do I find out the precise component that is causing this? The next question is if I can find another version of the offending component, how do I check to see if it is the right one? Just register it and try again? There must be some tool that can examine the binary compatible reference dll and the component in question to see if they are defined the same way.

Thanks for any pointers!
0
Comment
Question by:exactjb
  • 2
  • 2
5 Comments
 
LVL 101

Expert Comment

by:mlmcc
ID: 19674529
0
 
LVL 1

Author Comment

by:exactjb
ID: 19683614
The Process Monitor tool that I originally mentioned that I used is a combination of Filemon and Regmon. It replaces both.

http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/processmonitor.mspx

Thanks for the thought.
John
0
 
LVL 101

Expert Comment

by:mlmcc
ID: 19688756
I don't know how to debug tht issue.

mlmcc
0
 
LVL 1

Author Comment

by:exactjb
ID: 19693876
I have found the cause. Apparently the Crystal Reports folks did something BAD.

If I unregister the 10.5 versions of craxdrt.dll and crviewer.dll, and then register the 10.0 versions of the same, I can compile. There has to be something in the TLB signature(s) of the 10.5 versions that is not correct.

I will see if I can get help in another zone to get to the bottom of this.

Thanks,
John
0
 
LVL 1

Accepted Solution

by:
Vee_Mod earned 0 total points
ID: 19722250
Closed, 500 points refunded.
Vee_Mod
Community Support Moderator
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…
Suggested Courses

609 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question