Solved

Error 458

Posted on 2001-09-06
7
684 Views
Last Modified: 2012-05-04
I have created a VB 6.0 Application that works fine on Windows ME, windows 98 and Windows 2000.  When I try to install it on Windows NT, I get the following error when opening a form that uses Access 2000 automation:

Run-time error Error 458
Variable uses an Automation type not supported by Visual Basic

Any help with this issue would be greatly appreciated.

Thanks!
0
Comment
Question by:hbickings
7 Comments
 
LVL 4

Expert Comment

by:Jeremy_D
Comment Utility
My guess would be that Access 2000 is not installed on the target NT system...
0
 
LVL 15

Expert Comment

by:lyonst
Comment Utility
Hi,

This might help..

http://support.microsoft.com/support/kb/articles/Q170/1/64.ASP

Passing User-Defined Types to Procedures
With Visual Basic 6.0 it is possible to pass a user defined type (UDT) as an argument to a procedure or function. However, there is a restriction. Passing a UDT to a procedure in an out-of-process component or across threads in a multi-threaded component requires an updated version of DCOM for Windows 95 and Windows 98, or Service Pack 4 for Windows NT 4.0. This update is required on your development computer as well as on any computer that will run your application. A run-time error will occur if the required files are not installed.

The above does not apply to passing UDTs within a single-threaded application; this will work without updating. The Package and Deployment Wizard will not determine the dependencies for the necessary components - it is up to you to make sure that the files are on the end user's computer. You can test for the existence of the components by trapping for run-time error 458 - "Variable uses an Automation type not supported in Visual Basic". If this error occurs, the DCOM or Service Pack components must be updated; the update procedure differs depending on the operating system:

Windows 95 or Windows 98

DCOM98.EXE is a self-extracting executable that installs the updated DCOM components for Windows 95 or Windows 98. It can be found in the DCOM98 directory of the Visual Basic 6.0 CD. This file may be freely distributed with your Visual Basic application.


Windows NT 4.0

The updated DCOM components are automatically installed with Service Pack 4 (SP4). When it is released, you can download the Service Pack from the Microsoft Web site.

Cheers,

T.
0
 
LVL 1

Expert Comment

by:jtjcomp
Comment Utility
You may be missing the Access 2000 support files,  these files are sometimes provided by win 2000, me, 98.  Try to include the MDAC_TYP.exe in your install routine.

JTJComp
0
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

 
LVL 1

Expert Comment

by:jtjcomp
Comment Utility
You may be missing the Access 2000 support files,  these files are sometimes provided by win 2000, me, 98.  Try to include the MDAC_TYP.exe in your install routine.

JTJComp
0
 
LVL 1

Expert Comment

by:sanjeevjain1973
Comment Utility
Not everyvariable that appears in atype library orobject  
library can be used by every programming language.
This error has the following cause and solution:

You tried to use a variable defined in a type library or object library that has adata type that isn't supported by Visual Basic.
You can't use a variable of a type not recognized by Visual Basic in a Visual Basic program.


Sanjeev
0
 
LVL 49

Expert Comment

by:DanRollins
Comment Utility
Hi hbickings@devx,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Save as PAQ -- No Refund.
    *** good suggestions; no rsponse to indicate which solved the problem.

hbickings@devx, Please DO NOT accept this comment as an answer.
EXPERTS: Post a comment if you are certain that an expert deserves credit.  Explain why.
==========
DanRollins -- EE database cleanup volunteer
0
 
LVL 5

Accepted Solution

by:
Netminder earned 0 total points
Comment Utility
Per recommendation, points NOT refunded and question closed.

Netminder
CS Moderator
0

Featured Post

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

Join & Write a Comment

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
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 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…
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…

772 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

15 Experts available now in Live!

Get 1:1 Help Now