?
Solved

comm32.ocx object not working

Posted on 2014-01-29
7
Medium Priority
?
905 Views
Last Modified: 2014-02-03
I'm running an Access2003 application that has an ActiveX Control.  The OLE Class property of the control is set to "Comm32.Comm".  The program is working on two Windows XP computers out on the factory floor.  I need to add to the program an action query and a line of code that runs the query.  Both computers on the factory floor only have the runtime version of Access, so I copied the program to a Windows XP computer that has Access 2003 development version.  

I believe the control uses the file "comm32.ocx", so I saved it in the same folder as the factory computers, namely "c:\windows\system32", typed "regsvr32 comm32.ocx" at a command prompt and got a success message.  However, I get the message "The comm32 component can not load because it was not installed correctly.  You can download the installer at www.comm32.com" when I open the form that has the ActiveX Control in design view, and after I change the program and copy it back to a factory floor computer it no longer works.  

I went to the website and it wants $75 for the installer, but we never paid for comm32.com when the program was first created.  What do I have to do to get the new version of the program to work?  How do I get the comm32.ocx file to install correctly?
0
Comment
Question by:Declan_Basile
  • 3
  • 2
  • 2
7 Comments
 
LVL 85

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 1332 total points
ID: 39818776
If your program references comm32.ocx, then at some point you would have had to purchase the .ocx file (unless it was free at one point).

Can you show a screenshot of the references in use?
0
 
LVL 40

Assisted Solution

by:Jacques Bourgeois (James Burger)
Jacques Bourgeois (James Burger) earned 668 total points
ID: 39819996
Most commercial .ocx (and comm32 is a commecial .ocx) were created for VB6, not VBA. They could theoretically work with Access, but commercial components are usually sold with a development licence to prevent pirating.

That licence is installed on the development computer when you run the installer from the company that sold you the .ocx. It is not transferrable and not installed when you move the .ocx to another computer and simply register it with RegSvr32.

You can use it for your VB6 development, compile the application to a .exe, and distribute the .exe with the .ocx. But the licence is not distributed.

Once installed on the user's computer, the application is able to use the .dll. But if somebody tries to use it in its own development, he cannot, because he does not have the licence.

Access does not compile the VBA code. When you distribute a database, you do not distribute a compiled application, you distribute the source code. By the licensing mechanism, this is considered as a developer environment (which it is), and thus you cannot use it with Access on a computer that does not have the original licence.

This is why you are required to pay again. The original license was for one programmer, and since anybody can program in Access, you need a license for each computer that uses Access.

Since you have the Developer version of Access, you might try to distribute your database as a .mde. Be sure that you are aware of the implications however. A .mde is compiled, so it might be treated as a .exe by the .ocx. But since it is compiled, you are stuck with it. You cannot add or modify Tables, Forms, Reports or code.
0
 
LVL 85

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 1332 total points
ID: 39820315
When you distribute a database, you do not distribute a compiled application, you distribute the source code.
That's not really accurate. I have several .ocx files that I distribute with a few of my Access apps, and I do so exactly the same way I did with VB6 apps and those controls. You "compile" the database into a .mde/.accde file and then deploy the runtime version of that control along with the database. The control vendors who support Access treat it just like the VB6 environment in terms of licensing - i.e. it's licensed to a single developer, and you (the developer) are expected to deploy the runtime version of that control.

You cannot add or modify Tables,
You can modify Tables and Queries in .mde/.accde files, but nothing else.

The most likely reason for the error is that the author grabbed the copy from the runtime machine, which was the deployment version of that .ocx, which of course means it has no design-time rights. Often you'll see errors like the author described when you try to use a runtime control at design time.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
LVL 1

Author Closing Comment

by:Declan_Basile
ID: 39829584
Thank you.  I found the installation .exe for the ocx control.  I didn't realize that someone else in the company purchased it.  In the past I was able to just copy the .ocx (and register it) to the computers using the runtime version of access, but I must have ran the installation .exe on the development computer at that time (Note: I have a new computer now).  I ran the installation .exe on my new computer but still ran into problems.  Now I'm getting runtime errors that access can't process event procedures.  Unfortunately I am swamped with other projects right now and can't devote time to this one.  Your comments have helped.  There are only two computers that use this program, so maybe buying two more licenses will cost less (in time) than figuring out how to distribute the .ocx to the other two non-development computers.  I will post my final solution once I get the time to get this program working.  Thanks again.
0
 
LVL 40
ID: 39829788
Have you switched to a 64-bit version of Windows in your new computer. Or have you switched to a newer version of Access. Some older .ocx have problems running in newer systems.

You might want to consult with the vendor (http://www.comm32.com/) to know if your version of the dll is compatible with your current environment.
0
 
LVL 1

Author Comment

by:Declan_Basile
ID: 39830146
I suspected that, so even though my new computer is Windows 7 64 bit, I used a different Windows XP 32 bit computer as the development computer.  I'm still using Access 2003.  Thanks.
0
 
LVL 85
ID: 39830494
so even though my new computer is Windows 7 64 bit,

Open in new window

If your user base is moving to 64-bit machines then be prepared for the impending failure of those older 32-bit ocx controls. It's more a matter of "when" than "if" in regards to failure.
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Question has a verified solution.

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

This article shows how to get a list of available printers for display in a drop-down list, and then to use the selected printer to print an Access report or a Word document filled with Access data, using different syntax as needed for working with …
We live in a world of interfaces like the one in the title picture. VBA also allows to use interfaces which offers a lot of possibilities. This article describes how to use interfaces in VBA and how to work around their bugs.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…
Suggested Courses
Course of the Month5 days, 16 hours left to enroll

589 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