[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 436
  • Last Modified:

ODE Common Dialog Control problem

I have an Access 97 db that I have prepared for installation with the Access 97 ODE. One of the forms has a Common Dialog Control which I use for a Save/Open dialog box. When I set up the db with the ODE I add the *.ocx file for the common dialog control and Access grabs it plus one other that it determines it needs for the Common Dialog Control.
 The problem I am having is after installation the Common Dialog Control is not there (just a white blank box where it used to be). I looked in the Windows\System Directory and the files are in there. I tried regestering it with the Cpu it is installed on. That did not help. I even tried adding one onto the form and I get a "You do not have a licsence to do this message". Any Ideas as to what the problem is? I obviously need that Open/Save dialog box to work. Oh yeah I have VB 5.0 on the CPU that I used to creat the db. When I regestered the Common Dialog Control I could of grabed the *.ocx file from that CDROM I dont remember for sure. But it works fine on that CPU.
Thanks
0
Bigway
Asked:
Bigway
1 Solution
 
HelicopterCommented:
Bigway_I came across this at an access website. It might help.

I have an application that uses comdlg32.OCX . In the setup wizard I have the comcat.dll and comdlg32.dep installing before the OCX. Also, I use the option to always overwrite files currently on the system. I have tried many things even registering the OCX manually. But I still receive the message 'Error #438 Object doesn't support this property or method'.


And this was a follow up answer:

I created an ActiveX component with VB 5.0 which includes the Common Dialog control. Because this is compiled into an ActiveX DLL, the licensing information is compiled into the DLL. Then all of Common Dialog's properties (except for Name, Index and a couple of others) are exposed through the object AlphaTools.clsCommonDialog.

If you'd like to download the ActiveX DLL, with all source code and a same Access 97 MDB, you can get it from the CompuServe MSACCESS forum. Just search on my user ID (74157,240). If you need it directly from me, please email me at mjelline@alphanetcorp.com, and i'll email out as needed.
The only work around I have found is to install the ODE on the users machine and then uninstall it. This implies that my setup doesn't not have the appropriate files or is not doing the registration right.

Can anyone help with this problem? I need to be able to distribute my runtime without installing the ODE.



Solution

I called Microsoft and one of their suggestions was to create the form from scratch and insert a brand new common dialog control. It worked.

The difference between the new form and the old form was the class property on the new form was "MSComDlg.CommonDialog.1" on the old form it was "MSComDlg.CommonDialog". Why this worked with the ODE installed but not on the users PC, I am not sure. Maybe because the ODE supported older controls? When all else fails...recreate it from scratch.

____________

I have also experienced this problem and I've found that the only thing that works is to transfer the correct versions of the dlls and the ocx to the target machine manually. It's a real pain this one, but you're not alone!
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now