Solved

ODE Common Dialog Control problem

Posted on 1998-11-07
1
389 Views
Last Modified: 2012-06-27
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
Comment
Question by:Bigway
1 Comment
 
LVL 8

Accepted Solution

by:
Helicopter earned 50 total points
ID: 1967923
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

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

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

Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…

773 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