Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Active X control with VB 2

Status
Not open for further replies.

BTate

Programmer
Jan 30, 2001
23
0
0
GB
I've created a program in Visual Basic that runs my various crystal reports in compiled versions using the crystl32.ocx control as the activeX control.
But when l distribute the program across the network and instal it l get an error because the control isn't installed or a dependancy file is missing.

How can l solve this error, or else register control crystl32.ocx on the users machines.

Thank-you
 
Hello --

I have included lists of all the dependency files required to register the cystl16.ocx and the crystl32.ocx. Please make sure that the appropriate files are on the client machine, as this is the most common reason for failure in registering the OCX.

Another item to check is that the version number of each dll on the client matches what is on your development machine (or at least matches what is on another client machine where the app does work). I recommend using EXTREME CAUTION when moving dlls between a machine with one OS to another with a different one. Regardless of the machines' OS, if you choose to copy dlls, please make sure to back up the old ones in case something goes awry.

Please note that although the crystl32.ocx file can reside anywhere on your machine (as it is a registered file), its dependencies must reside in the system path.

Finally, I would suggest downloading the Dependendency Walker utility from the following link to help troubleshoot your issue:


You can point this utility to Crystl32.ocx on the client machine to determine which of its dependencies the OCX is having issues with. Working files show up in green or cyan, while non-working files show up in yellow, orange, or red. I am sure that you will find this utility extremely helpful.

To manually register the OCX after you have ensured that all the dependencies are present, you will need to select Start | Run and type in something like this:

regsvr32.exe "C:\Windows\System\crystl32.ocx"


"Complete list of Crystal OCX dependency files

4.0 1.0.0.22 Dependencies Comdlg.dll Crpaige.dll Crpe.dll Ctl3dv2.dll Gdi.dll Mfcoleui.dll Oc25.dll Ole2.dll Ole2nls.dll Shell.dll User.dll Win87em.dll

4.5 16bit 1.0.0.36 Dependencies Crpaige.dll Crpe.dll Ctl3dv2.dll Gdi.dll Mfcoleui.dll Oc25.dll Ole2.dll User.dll Win87em.dll

4.5 \ 3.0.1.32 32bit 1.0.0.34 Dependencies Advapi32.dll C02c40en.dll Comctl32.dll Comdlg32.dll Crpaig32.dll Crpe32.dll Gdi32.dll Implode.dll Mfc40.dll Msvcrt20.dll Msvcrt40.dll Ole32.dll Oleaut32.dll Shell32.dll User32.dll

4.6 4.6.37.14 Dependencies Advapi32.dll C02c40en.dll Comctl32.dll Comdlg32.dll Crpe32.dll Gdi32.dll Implode.dll Msvcrt20.dll Ole32.dll Oleaut32.dl Shell32.dll User32.dll

5.108 \ 5.112 16bit 5.0.0.206 Dependencies Commdlg.dll Crpaige.dll Crpe.dll Ctl3dv2.dll Gdi.dll Mfcoleui.dll Oc25.dll Ole2.dll Shell.dll User.dll Win87em.dll

5.108 32bit 5.0.0.208 Dependencies Advapi32.dll Comctl32.dll Comdlg32.dll Crpaig32.dll Crpe32.dll Implode.dll Mfc42.dll Msvcrt.dll Msvcrt20.dll Oole32.dll Oleaut32.dll Oledlg.dll Olepro32.dll User32.dll

5.112 32bit 5.0.0.209 Dependencies Advapi32.dll Comctl32.dll Comdlg32.dll Crpaig32.dll Crpe32.dll Gdi32.dll Implode.dll Mfc42.dll Msvcrt.dll Msvcrt20.dll Ole32.dll Oleaut32.dll Oledlg.dll Olepro32.dll User32.dll Version.dll

5.91 \ 5.96 16bit 5.0.0.106 Dependencies Commdlg.dll Crpaige.dll Crpe.dll Ctl3dv2.dll Gdi.dll Mfcoleui.dll Oc25.dll Ole2.dll Shell.dll User.dll Win87em.dll

5.91 \ 5.96 32bit 5.0.0.106 Dependencies Advapi32.dll Comctl32.dll Comdlg32.dll Crpaig32.dll Crpe32.dll Gdi32.dll Implode.dll Msvcrt20.dll Msvcrt40.dll Ole32.dll Oleaut32.dll Oledlg.dll Olepro32.dll Shell32.dll

6.135 \ 6.151 \ 7.192 16bit 6.0.0.606 Dependencies Commdlg.dll Crpaige.dll Crpe.dll Ctl3dv2.dll Gdi.dll Mfcoleui.dll Oc25.dll Ole2.dll Shell.dll User.dll Ver.dll Win87em.dll

6.135 \ 6.151 32bit 6.0.0.607 Dependencies Advapi32.dll Comctl32.dll Comdlg32.dll Crpaig32.dll Crpe32.dll Gdi32.dll Implode.dll Mfc42.dll Msvcrt.dll Msvcrt20.dll Ole32.dll Oleaut32.dll Oledlg.dll Olepro32.dll User32.dll Version.dll

7.192 32bit 6.1.0.609 Dependencies Advapi32.dll Comctl32.dll Comdlg32.dll Crpe32.dll Gdi32.dll Implode.dll Mfc42.dll Msvcrt.dll Msvcrt20.dll Ole32.dll Oleaut32.dll Oledlg.dll Olepro32.dll User32.dll Version.dll

NOTE: The files listed below are required on Win 3.x machines that do not have OLE 2.0 installed. This would include systems that don't have any such programs as Microsoft Word, Microsoft Excel, Microsoft Visual Basic (4.0 and higher), etc. If Ole2.dll is not found on a system, it must be installed and registered before the Crystal Custom Control (OCX) will register. Compobj.dll Ole2.dll Ole2conv.dll Ole2disp.dll Ole2prox.dll Storage.dll Typelib.dll "

hope this helps
E. McEvoy
Crystal Reports Consultant
 
i've obtained the depends.zip and run it on my copy of crystl32.ocx but the dependency list did not match any of those you have included here.

cyrstl32.ocx
dated 02.10.98
size 96,720
product/file version: 4.0/1.0.0.34

dependents: ADVAPI32.DLL COMDLG32.DLL CRPE32.DLL GDI32.DLL KERNEL32.DLL MFC40.DLL MSVCRT40.DLL OLE32.DLL OLEAUT32.DLL USER32.DLL

is there a problem?

i'm interested in using the depend utility to diagnose my problem: a VB4 application that runs on Win95 returns an 'illegal operation' when run on Win98 and i'm trying to find out if it is caused by wrong versions of crystal reports being used.

do you have any suggestions for me?
 
Hello

What version of crystal reports are your reports created in? Also, are you connecting through odbc or natively to the database? If you are connecting through odbc, then you will want to make sure that you have the database path set, as this will cause some problems on client machines at times.

You might want to use a utility called, "DSX.EXE"(16 bit) or "DSX32.EXE"(32 bit). You can run this utility when you are running your application to get a list of files being used. Run it once on your development machine and once on the client machine. You can then compare the two lists of runtime files that get created.

were you able to manually register the crystl32.ocx using the method below?

regsvr32.exe "C:\Windows\System\crystl32.ocx"

If you copy the entire setup and all files to the other machines. do you get a proper install and proper registration of the ocx?

It seems that there must be a descrepency in the files between the two machines.

hope this helps some E. McEvoy
Crystal Reports Consultant
 
i finally found out that it's really the incompatible CRPE32.dll that caused the problem. I replaced with another version and now my program works.

thanks for your help. but is there somewhere a more complete campatibility check list with correct component versions for the different version of crystal reports?
 
Hi there,

You should be able to search your system and find a runtime.hlp file. this will give you all the runtime files and should include version numbers also.

Hope this helps
E. McEvoy
Crystal Reports Consultant
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top