Solved

ActiveX component can't create object.  429

Posted on 2004-08-25
13
4,447 Views
Last Modified: 2013-12-25
I have a VB 6 program that I wrote at the office.  I backed it up and put it on my pc at home.  It works fine at the office but I am getting the error "ActiveX component can't create object 429"  Can anyone help???
0
Comment
Question by:joycampbell
  • 4
  • 3
  • 2
  • +4
13 Comments
 
LVL 39

Expert Comment

by:appari
ID: 11899530
may be you were using custom controls in your program. in that case you need to prepare a setup package(installer) and install it on your home pc.

you can use package and deployment wizard that comes with VB to prepare setup package.
 
0
 

Author Comment

by:joycampbell
ID: 11900279
I have VB6 at home also.  I am working with the source code on my computer at home also.  I thought when I backed up the code at work, that it would have the same code at home???  
0
 
LVL 1

Expert Comment

by:Arnee_Senthil
ID: 11900485
Are you using the same OS in both place. OR
Do you have any third pary components or custom made components in you project.

To know the Component that is missing in you home....

Open the VB project and access the VB Reference dialog box, there you  can see the list of references added into the project. If some ref. missing in your home, you can visually see the "MISSING:.............." in that dialog.

IF some dll missing in your m/c register that dll (you may need to copy from office or you may need to purchase that)

Arne

0
 
LVL 1

Expert Comment

by:TomBig
ID: 11902180
joycampbell

your error is a runtime error, what means that it has nothing to doe with your programs references. If any references would be missing then your code wouldnt compile.

vb extensively relies on COM. when you compile your program all class-ids from all registered COM classes that your programm uses are added to your executable. if any of the class-ids are missing in the registery (i.e. probably a different version of a component or similar) when your program tries to create them, then you get the "ActiveX Component cant create object".

alternatively a comoponent/class that you use relies on some third party COM classes that are missing. then you'll get the same error (at least if they are written in vb)

cheers
TomBIG
0
 
LVL 5

Expert Comment

by:brianb99999
ID: 11908213
A compiled/uncompiled program that uses references or components needs to have those same references and components installed on every machine that runs the program.

Should get you going in most cases:

Use PDW to get all of the files you need to install for your program to run.
When you are at work open the project, Select Add In Manager from add ins, Click on package and Deployment wizard, put a check beside loaded/unloaded and load on startup, click on ok.  Then select Package and Deployment Wizard from the Add Ins menu and follow the wizard prompts (I don't recommend using PDW for a app you need to distribute - but it is ok at giving you a list of dependencies for your program) - you can either run the package it creates on your home PC (but PDW is buggy) or you can open the setup.lst file that it creates and the files it places under [Setup1 Files] section are the files your program needs to have on a PC in order to run correctly.

If you ever end up needing to distribute your program to someone else then I would suggest INNO setup (there are many articles on the sight which explain how to setup a VB program):
www.jrsoftware.org/isinfo.php

Brian.
0
 
LVL 8

Expert Comment

by:plq
ID: 11910329
Search for all the createobject and getobject statements in your code and make sure that the object being created is installed on your system

Given that its a run time error, set the tools, options, third tab, break on all errors to true, and then run it and it will break on the line thats failing. Send us that line and we can tell you what it is..
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:joycampbell
ID: 11917652
This is the line with the error

                       Set m_env = rdoEnvironments(0)

It is located in a class module
This is how i have defined the object

             Option Explicit
                  ' Database
                  Private m_env As rdoEnvironment

                  ' Connection
                  Private m_con As rdoConnection
0
 

Author Comment

by:joycampbell
ID: 11917906
I am on a Dell machine at work and at home running XP Pro operating system, Access 2000 and programing with VB6.
0
 
LVL 8

Assisted Solution

by:plq
plq earned 250 total points
ID: 11918138
Hmmm never used rdoenvironment so guessing here but maybe ...

Private m_env As New rdoEnvironment

Or maybe you need to download nad install rdo somehow. Sorry I went straight from DAO to ADO and missed out RDO completely !!!

My feeling is that rdoEnvironment must be installed for it to compile, in which case there's just no rdoEnvironment object instantiated, so look at the source of the rdoEnvironment and ask yourself what could be wrong in terms of design time properties, startup differences, different paths, registry settings,, .....
0
 

Author Comment

by:joycampbell
ID: 11926600
I think my problem is Access and VB. I am running Access 2000 at work and Access XP at home.  I have tried loading all updates to both VB and Access on my home PC but I must be missing something.  I have also tried converting my ACCESS FILE>  This is really getting to me.








   
0
 
LVL 1

Accepted Solution

by:
TomBig earned 250 total points
ID: 11929247
joycampbell

i think the most the most reasonable guess is that you got two different versions of microssofts rdo library. this is implemented (W2K, SP3) in the file \System32\Winnt\msrdo20.dll. check its version on both of your computers.

a little background: if you compile your code against one version of rdo on the computer at work, vb adds all the class-ids of all the classes your code references to the executable/dll. when you try to run your code on your home machine and try to create any object of a class from rdo, your programm passes that classes classid to COM, which tries to identify the server for the object via the registry. now if on your home computer there is a different version of rdo, the class id cannot be found and you receive the ominous error 429..

resolution: compile your code against the same version of rdo that you intend to use on your computer at home.

cheers
0
 

Expert Comment

by:Francisco_M
ID: 12953638
Hi guys,
am getting this king of error as well when importing from DBASE IV to access via VB 6... here are my codes:
...
dim appaccess as access.application
set appaccess=new access.application

 appaccess.opencurrentDatabase(mydatabase)
...
appaccess.doCmd.TransferDatabase acImport...

It works on my machine (XP) with access 2000. but does not work from the Client-PC.
"ActiveX component can't create object 429"

Any body can help?
Thanx,

Francisco.
0
 
LVL 8

Expert Comment

by:plq
ID: 12953684
you need to ask a new question
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

705 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

17 Experts available now in Live!

Get 1:1 Help Now