Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

comm32.ocx object not working

Posted on 2014-01-29
7
Medium Priority
?
862 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
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

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Suggested Courses

722 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