Search code examples
delphiadobde

Where is the location that BDE and ADO DLL's are stored in my System.?


i am trying to explore the BDE and ADO in Delphi. Where can i find the BDE and ADO DLL Files so that i can explore what all functions are written in that.Delphi 5 and BDE is already installed in my system


Solution

  • BDE: Traditionally, the main BDE DLL, Idapi32.Dll was installed to

    C:\Program Files (x86)\Common Files\Borland Shared\BDE
    

    by the default Delphi install. I have not installed the BDE onto a recent (Win7/Win10) version of Windows, but would not be surprised if the DLL ended up in SysWOW64.

    ADO: You need to look in the Delphi source file ADOInt.Pas to identify the name of the ADO DLL your Delphi version uses. It will be at the top of the file in a section that looks like this (following is for D7, because I don't have D5 installed):

    unit ADOInt;
    
    // ********************************************************************* //
    // Type Lib: C:\PROGRAM FILES\COMMON FILES\SYSTEM\ADO\MSADO15.DLL        //
    // IID\LCID: {00000200-0000-0010-8000-00AA006D2EA4}\0                    //
    // PASTLWTR : 1.1                                        //
    // HelpString: Microsoft ActiveX Data Objects 2.1 Library                //
    // Version:    2.1                                                       //
    // ********************************************************************* //
    

    Btw, you need the 32-bit version of MSADO15.DLL, which on my (Win10 64-bit) system is located in

    C:\Program Files (x86)\Common Files\System\ado
    

    The Delphi source files you need to study to see how Delphi uses thd BDE and ADO are

    DBTables.Pas, BDE.Int and SMIntf.Pas for the BDE and ADOInt.Pas and ADODB.Pas for ADO.

    As you will see, in the BDE code, there is no exact counterpart to a TAdoConnection, which is why I told you in reply to your other q that you are wasting your time trying to ease conversion by coming up with a connection type which could be used for both. Sorry to say so, but the fact that you've had to ask this q is a pretty good sign that you are out of your depth trying to come up with a "mixed connection" solution.