Link to home
Start Free TrialLog in
Avatar of MariaHalt
MariaHaltFlag for United States of America

asked on

VB6 and Crystal XI and runtime error 438

I have a VB6 executable with references to Crystal ActiveX Report Viewer Library 11.0 and Crystal Reports ActiveX Designer Run Time Library 11.0 and component Crystal ActiveX Report Viewer Library 11.0 running on a user's Vista machine.  I'm getting runtime error 438 object doesn't support this property or method on the OpenReport() line.  I checked the registry to make sure craxdrt.dll was pointing to the newest version.   I need to get this to work soon.  I also need to make sure that the solution does not interfere with other applications on the machine running Crystal Reports 8.5 reports.  Please help!

Set crApplication = New CRAXDRT.Application 'declared as Public CRAXDRT.Application 
 
 'Erroring on the following line
Set crReport = crApplication.OpenReport("my_crxi.rpt", 1)  'declared as Public CRAXDRT.Report
   
crReport.Database.SetDataSource rstSA, 3, 1

Open in new window

Avatar of Mike McCracken
Mike McCracken

I believe you need to update to SP4 if this is CR XI R1 and SP2 if it is CR XI R2.

Version
Open Crystal
Click HELP  --> ABOUT CRYSTAL
CR XI R1 is ver 11.0.xx
CR XI R2 is ver 11.5.xx

mlmcc
Avatar of MariaHalt

ASKER

I have 11.0.0.1282.  
We now have 11.0.0.2495.

I created a new VB install package and then removed previous program/installed the program with new setup package on the Vista machine again.  It made no difference :(  Any other suggestions?
Did I mention that it works fine on the development machine?  Can it be dependency files missing?  If so, which ones?  Or permissions?  
ASKER CERTIFIED SOLUTION
Avatar of Mike McCracken
Mike McCracken

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Almost there!!!  

We downloaded Crystal XI Merge Modules, put them into a .msi file and then ran the .msi on the client machine.  The VB6 program now generates the CR XI reports.  But remember part of my original question had to do with it needing to coexist with other apps that use 8.5?  Those apps are now NOT generating 8.5 reports...Error 13 Type Mismatch occuring.  

We think the problem is the craxdrt file.  The registry points to the newest version of craxdrt.  (When we register the old craxdrt the 8.5 generate but the XI do not and vice versa).  Is there some way we can get the registry to acknowledge both versions???  We think that will allow both 8.5 and XI reports to generate error free.
I know you can if you install CR 8.5 and CR XI on the same machine.  I haven't had a reason to do that for a client.

mlmcc
Lucky you!  

We tried it on a non-Vista client machine, we ran the .msi and then re-registered the 8.5 craxdrt (in the system32 folder) and then it worked!!!

So it must be some Vista thing...we'll keep trying...fortunately, we don't have to many of those machines yet!  

You set us on the right path...the points are yours...Thank you soooo much!
There are some issues with Vista.  CR XI requires a Service Pack to fix the issues.

mlmcc
The SP we installed at your suggestion probably fixed it.  However, it turned out the problem wasn't with Vista...it was permissions on the directory where all the reports we were testing are stored (phew).  We now have programs running 8.5 and XI reports all on the same client machine with no errors!  Yipee!!!