Article View: borland.public.cppbuilder.database.ado
Article #1202Re: MDAC version
From: YangKai Liu
Date: Fri, 17 Sep 2004 10:26
Date: Fri, 17 Sep 2004 10:26
175 lines
7546 bytes
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-mailReferences:
<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