Solved

comm32.ocx object not working

Posted on 2014-01-29
7
796 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 84

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 333 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 167 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 84

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 333 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
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
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 84
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

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

I originally created this report in Crystal Reports 2008 where there is an option to underlay sections. I initially came across the problem in Access Reports where I was unable to run my border lines down through the entire page as I was using the P…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

708 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now