精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>数据库技术>>感谢delphifan等大虾,但我的程序包括数

主题:感谢delphifan等大虾,但我的程序包括数
发信人: zengxi()
整理人: (2000-12-05 18:45:56), 站内信件
【 在 rapist (rapi) 的大作中提到: 】
: Thanks!!!
曾有网友指点过我,先转载如下:


 

----------------------------------------------------------------------
----------
  作 者: wangfajun (wangfajun) 1999.07.21 转贴 打包 回复  
精简Delphi数据库应用系统--定制BDE驱动程序 

  Delphi程序员都知道,在数据库应用程序开发完成后,要发布程序需要同时
 
发布BDE 
(Borland Database Engine),否则会引起错误“A Error occurred while at
 
temping 
to initilize Borland Database Engine(Error $2109)”。当觉得程序太大而辛
 
辛苦苦精简自己的程序到满意时,却发现BDE管理程序器需要9M之巨,不由感到沮

丧,真 有点自 己的努力被糟蹋的感觉。不过也不必太沮丧,只要肯尝试,还是

办法来精简BD E的。 
  首先来看看BDE目录中的文件,所有文件确实有近9M大吧。不过有些可能是用
 
不到的, 关键文件的作用可参见Bde32.HLP中“Introduction to Borland Data
base Engi 
ne”下的 
“Core BDE Files”,其中列出了BDE的关键文件及其作用,可以以此作为依据来
 
尝试精简 
BDE驱动程序。下面是各个文件的作用: 

 一、不可缺少的文件 
  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控件或DbiBatc
 
hMove类函数, 
         可以不要。 
  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连接帮助文件,可以不要。 

  在根据需要选择文件后,还要写注册表文件。这个应该不成问题,可以手工
 
设置,但最好在 
程序中设置,在发现注册表中没有相应键值时写入,用TRegFile对象用不了几行
 
代码的。需要设 
置的注册表键值有(在调用数据库操作前需要有正确的键值存在): 
  数据驱动程序所在目录的设置: 
    HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATH(字
 
符串值) 
  语言驱动程序所在目录的设置: 
    HKEY_LOCAL_MACHINE\Software\Borland\BLW32\BLAPIPATH(字符串值)
 

  语言驱动程序文件名:HKEY_LOCAL_MACHINE\Software\Borland\BLW32\LOCA
 
LE_LIB#(字符串值) 
      其中#为编号,按顺序为0、1、2、3......如: 
      HKEY_LOCAL_MACHINE\Software\Borland\BLW32\LOCALE_LIB0="far
 
easst.bll" 
      HKEY_LOCAL_MACHINE\Software\Borland\BLW32\LOCALE_LIB1="usa
 
.bll" 

  就这些了,按此办法即可有效减少BDE驱动程序的大小,例如只用TTable控件
 
操作Paradox数据库, 
则只要Idapi32.dll、Blw32.dll、Idr20009.dll、Fareast.bll、Usa.bll、Idpd
 
x32.dll六个文件即可。 
这些文件可放在任何一个目录,只要在注册表指明即可。OK,BDE由9M多减到不到
 
2M,ZIP一下就700多K 
了,比原来的应用系统减少了不少吧。 

  以上程序在PWIN98+DELPHI3.0下调试通过. 
(作者:深圳王发军 [email protected] http://wangfajun.163.net) 





--
------------------------------------ ///////////
---------------------------------- ///////////
--------------------------------- //////////
------------------------------- /////-/////
------------------------------ /////---/////
----------------------------- /////-----/////

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.98.117.183]

[关闭][返回]