🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.database.ado
Article #1202

Re: MDAC version

#1202
From: YangKai Liu
Date: Fri, 17 Sep 2004 10:26
175 lines
7546 bytes
The DLL exports a single single and it can be loaded by VB.

But when executing the VB loading code in VB debugging environment, error
message such as "Unable to find DLL" or "Wroing DLL format" will appear,
meanwhile, the program works just fine in the run-time environment.

In MSDN, there are two explanations for error 430 .  Since my DLL contains
ADO, I take the ADO related explanation (KB article 248404) as the more
probable cause.  I do not rule out the other explanation stated by you.  I
just do not know to pursude this line.

I will try both approaches stated by you and get back to you.

Thanks.

Best regards,


YangKai Liu

"Viatcheslav V. Vassiliev" <support@oledbdirect.com> �b�l��
news:414ab1c8@newsgroups.borland.com �����g...
> Try to place your BCB dll somewhere into PATH, for example in
> C:\Windows\System in Win9x or C:\Windows\System32 in WinNT, Win2000,
WinXP.
>
> If you create sample dll with one exported simple function, could they
load
> with with VB?
>
> BTW, error 430 is described in MSDN like: "Class does not support
Automation
> or does not support expected interface." Could problem be in VB?
>
> Here is Q193172 from MSDN, other sources also say "Class does not support
> Automation or does not support expected interface.":
>
> SYMPTOMS
> When the project type of an ActiveX server is changed from DLL to EXE and
> recompiled, any client code that attempts to create an instance of an
object
> from the server generates the following error:
>
> "Run-time error '430' : Class does not support Automation or does not
> support expected interface."
> CAUSE
> The error results from project compatibility and the change of the project
> type from DLL to EXE. In project compatibility, Visual Basic preserves the
> Class ID (CLSID) of the class but not the Interface ID (IID). Because the
> CLSID is preserved, the class ends up being registered with two servers;
the
> in-proc server (DLL) and the local server (EXE). As you create an instance
> of the class from a client, the class from the DLL is chosen. Because the
> class from the DLL does not support the new IID, the above error occurs.
> RESOLUTION
> Use the RegSvr32.EXE utility to unregister the old DLL server and re-
> register the new EXE server to eliminate this error.
> STATUS
> Microsoft is researching this problem and will post new information here
in
> the Microsoft Knowledge Base as it becomes available.
>
> //------------------------------------------
> Regards,
> Vassiliev V. V.
> http://www.managed-vcl.com - using .Net objects in Delphi for Win32 +
> ADO.Net
> http://www.oledbdirect.com - The fastest way to access MS SQL Server,
> MS Jet (Access) and Interbase (through OLEDB)
>
> "YangKai Liu" <yangkai.liu@burkelee.com> ������?�������� ?��������
> ��������? news:414a9d29@newsgroups.borland.com...
> > Yes, they want to create additional ActiveX DLL with VB that calls my
DLL.
> > The message is a run-time error message.  As you may already know, the
> > debugging environment messages from VB regarding linking DLL are quite
> > unstable and sometines false.  The debugging environment message is
> > something like "unable to locate DLL".
> >
> > I know the better is to create the Active X DLL directly from BCB6, but
> for
> > some non-technical reason, it is not feasible.
> >
> > Thanks for helping me.
> >
> > Best Regards,
> >
> >
> > YangKai Liu
> >
> > "Viatcheslav V. Vassiliev" <support@oledbdirect.com> �b�l��
> > news:41497796@newsgroups.borland.com �����g...
> > > It is better to have newer MDAC.
> > >
> > > > repackage it into ActiveX DLL using Visual Basic 6
> > > I do not understand what they want to do. Create additional VB dll
that
> > uses
> > > your Delphi DLL? When they get this message - when compiling VB dll?
> > >
> > > And why not write this ActiveX dll in Delphi - you will have one dll
> that
> > > does not depend on msvbvm60.dll?
> > >
> > > //------------------------------------------
> > > Regards,
> > > Vassiliev V. V.
> > > http://www.managed-vcl.com - using .Net objects in Delphi for Win32 +
> > > ADO.Net
> > > http://www.oledbdirect.com - The fastest way to access MS SQL Server,
> > > MS Jet (Access) and Interbase (through OLEDB)
> > >
> > > "YangKai Liu" <yangkai.liu@burkelee.com> ������?�������� ?��������
> > > ��������? news:41492eb3@newsgroups.borland.com...
> > > > The problem I encountered is as follows:
> > > > I made a DLL which accesses databases with ADO.  The IT at the
> > production
> > > > site tries to repackage it into ActiveX DLL using Visual Basic 6.
> > > > Then we have error message 430, which, according to Microsoft, is
> caused
> > > by
> > > > "the application references one version of ADO and redistributes a
> > > different
> > > > version of ADO."
> > > >
> > > > Can I tell the IT at the production site to use an older version of
> ADO
> > to
> > > > fix the problem?
> > > >
> > > >
> > > > "Viatcheslav V. Vassiliev" <support@oledbdirect.com> �b�l��
> > > > news:41492cf6$1@newsgroups.borland.com �����g...
> > > > > This depends on which features your program uses. Usually MDAC 2.5
> is
> > > > > enough. But, of course, newer version is better. SP4 has no
changes
> in
> > > > > MDAC - you could download MDAC from Microsoft site.
> > > > >
> > > > > //------------------------------------------
> > > > > Regards,
> > > > > Vassiliev V. V.
> > > > > http://www.managed-vcl.com - using .Net objects in Delphi for
Win32
> +
> > > > > ADO.Net
> > > > > http://www.oledbdirect.com - The fastest way to access MS SQL
> Server,
> > > > > MS Jet (Access) and Interbase (through OLEDB)
> > > > >
> > > > > "YangKai Liu" <yangkai.liu@burkelee.com> ������?�������� ?��������
> > > > > ��������? news:41492884$1@newsgroups.borland.com...
> > > > > > I am writing codes with ADO using BCB6.  The program will be
> shipped
> > > to
> > > > > > producttion site.  Which version MDAC is requried at the
> production
> > > > site?
> > > > > > Should I install BCB6 SP4, will there be any change to the
> required
> > > MDAC
> > > > > > version?
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Technical Details
Message-ID: <414abbe4@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!gatel-ffm!gatel-ffm!194.25.134.126.MISMATCH!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail
References: <41492884$1@newsgroups.borland.com> <41492cf6$1@newsgroups.borland.com> <41492eb3@newsgroups.borland.com> <41497796@newsgroups.borland.com> <414a9d29@newsgroups.borland.com> <414ab1c8@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 10698b,cb2623b489e3d049
X-Google-Attributes: gid10698b,public
X-Google-Language: ENGLISH,ASCII
From: "YangKai Liu" <yangkai.liu@burkelee.com>
Newsgroups: borland.public.cppbuilder.database.ado
References: <41492884$1@newsgroups.borland.com> <41492cf6$1@newsgroups.borland.com> <41492eb3@newsgroups.borland.com> <41497796@newsgroups.borland.com> <414a9d29@newsgroups.borland.com> <414ab1c8@newsgroups.borland.com>
Subject: Re: MDAC version
Date: Fri, 17 Sep 2004 18:26:23 +0800
Lines: 177
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1437
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441
NNTP-Posting-Host: 61.222.26.93
Message-ID: <414abbe4@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1095416804 61.222.26.93 (17 Sep 2004 03:26:44 -0700)
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!gatel-ffm!gatel-ffm!194.25.134.126.MISMATCH!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail