---- 一、不可缺少的文件 
---- Blw32.dll:语言驱动函数库。 
---- Idapi32.dll:BDE基本函数库。 
---- Fareast.bll、Usa.bll:远东语言及美国语言驱动程序,对中文软件不可缺少。 
---- Idr20009.dll:错误信息库。 
---- 二、数据库驱动程序(根据需要选择一个或多个) 
---- Idasci32.dll:Ascii文本数据库驱动程序函数库,如果不用Ascii文本数据库,可以不要。 
---- Iddao32.dll:Access数据库驱动程序函数库,如果不用Access数据库,可以不要。 
---- Iddbas32.dll:dBase数据库驱动程序函数库,如果不用dBase数据库,可以不要。 
---- Idodbc32.dll:ODBC数据库驱动程序函数库,如果不用ODBC数据库,可以不要。 
---- Idpdx32.dll:Paradox数据库驱动程序函数库,如果不用Paradox数据库,可以不要。 
---- 三、其它驱动程序和配置文件(根据需要选择一个或多个) 
---- Idbat32.dll:批操作驱动程序函数库,如果不用TBatchMove控件或DbiBatchMove类函,可以不要。 
---- Iddr32.dll:Data Repository驱动程序函数库,如果不用Data Repository功能,可以不要。 
---- Idprov32.dll:BDE DataSet provide驱动程序函数库,如果不用TProvider控件,可以不要。 
---- Idqbe32.dll:QBE驱动程序函数库,如果不用Query By Example,可以不要。 
---- Idsql32.dll:SQL查询驱动程序函数库,如果不用TQuery进行查询,可以不要。 
---- Idapi32.cfg:BDE配置文件,如果程序中没有特殊要求,可以不要。也可以在BDE管理器中设置正确后再分发。 
---- 四、其它文件(一般不用) 
---- BDE32.HLP、BDE32.CNT:BDE帮助文件,可以不要。 
---- BdeAdmin.exe、BdeAdmin.HLP、BdeAdmin.CNT:BDE管理器及帮助文件,如果不会发生要求软件用户自己配置BDE的情况时,可以不要。 
---- 其它*.BLL:其它国家和地区的语言驱动程序,可以不要。 
---- DataBump.EXE、DataBump.HLP、DataBump.CNT:数据库数据转移工具及帮助文件,可以不要。 
---- Localsql.HLP、Localsql.CNT:SQL查询语句帮助文件,可以不要。 
---- Sqllnk32.HLP、Sqllnk32.CNT:SQL连接帮助文件,可以不要

解决方案 »

  1.   

    即使你选择分发的文件是正确且没有缺少的,你的程序中依然需要对bde进行注册才可以使用,否则分发了也是没有用的
      

  2.   

    注册bde的程序代码:procedure InitBde;
    var
       DataDirectory : string;
       ARegistry     : TRegistry;
    begin
      DataDirectory := ExtractFilePath( Application.ExeName );
      DataDirectory := DataDirectory+'bde\';
      ARegistry     := TRegistry.Create;
      with ARegistry do    {创建一个TRegistry对象实例  }
      begin
        RootKey := HKEY_LOCAL_MACHINE;{指定根键为HKEY_LOCAL_MACHINE}
        if not OpenKey( 'Software\Borland\BLW32', False ) then
        begin
    //      showmessage('key 1'); {写入BDE语言驱动程序所在的目录,即当前程序目录   }
          OpenKey( 'Software\Borland\BLW32', True );
          WriteString( 'BLAPIPATH', DataDirectory );
        end;
        CloseKey;    {关闭主键,同时将信息写入注册表}
        RootKey := HKEY_LOCAL_MACHINE;
        if not OpenKey('Software\Borland\Database Engine',False) then
        begin
    //      showmessage('key 2');
          OpenKey('Software\Borland\Database Engine',True);
          WriteString( 'DLLPATH', DataDirectory );
        end;
        CloseKey;    {关闭主键,同时将信息写入注册表}
        Destroy;     {释放内存  }
      end;
    end;
      

  3.   

    up~~~~up~~~~up~~~~up~~~~up~~~~up~~~~up~~~~
      

  4.   

    以下是我的一段测试程序: 
       database1.DatabaseName :='master';
       database1.DriverName :='MSSQL';
       database1.Params.Clear;
       database1.Params.Add('SERVER NAME=skeexj');
       database1.Params.Add('USER NAME=sa');
       database1.Params.Add('DATABASE NAME=master');
       database1.Params.Add('PASSWORD=');
       database1.Session.SQLHourGlass:=False;
       try
         database1.Connected:=true;
         showmessage('true');
       except
         showmessage('false');
       end;
    执行结果始终为false,后又把try..except拿掉,执行产生一个'could not find object.'的错误。这个是一个编号为8712(10进制)的bde error。to 我是小新,我用手工注册,系统提示dll已经加载,你的方法我试过了
    to 我是小雨,dbclient.dll我没有搜索到。
      

  5.   

    以下是我的一段测试程序: 
       database1.DatabaseName :='master';
       database1.DriverName :='MSSQL';
       database1.Params.Clear;
       database1.Params.Add('SERVER NAME=skeexj');
       database1.Params.Add('USER NAME=sa');
       database1.Params.Add('DATABASE NAME=master');
       database1.Params.Add('PASSWORD=');
       database1.Session.SQLHourGlass:=False;
       try
         database1.Connected:=true;
         showmessage('true');
       except
         showmessage('false');
       end;
    执行结果始终为false,后又把try..except拿掉,执行产生一个'could not find object.'的错误。这个是一个编号为8712(10进制)的bde error。to 我是小新,我用手工注册,系统提示dll已经加载,你的方法我试过了
    to 我是小雨,dbclient.dll我没有搜索到。