发信人: mengy (LEAR DLLS 命令时,将从内存中清除), 信区: BorlandDev
标  题: 精简Delphi数据库应用系统-定制BDE驱动程序
发信站: 哈工大紫丁香 (2001年03月13日18:23:46 星期二), 转信


精简Delphi数据库应用系统-定制BDE驱动程序 <<上一篇 下一篇>> 
  ---- Delphi程序员都知道,在数据库应用程序开发完成后,要发布程序需要同
时发布BDE(Borland Database Engine),否则会引起错误“A Error occurred 
while attempingto initilize Borland Database Engine(Error $2109)”。当觉
得程序太大而辛辛苦苦精简自己的程序到满意时,却发现BDE管理程序器需要9M之
巨,不由感到沮丧,真有点自己的努力被糟蹋的感觉。不过也不必太沮丧,只要肯
尝试,还是有办法来精简BDE的。 

---- 首先来看看BDE目录中的文件,所有文件确实有近9M大吧。不过有些可能是用
不到的,关键文件的作用可参见Bde32.HLP中“Introduction to Borland 
Database Engine”下的“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控件或
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连接帮助文件,可以不要。 

---- 在根据需要选择文件后,还要写注册表文件。这个应该不成问题,可以手工
设置,但最好在程序中设置,在发现注册表中没有相应键值时写入,用TRegFile对
象用不了几行代码的。需要设置的注册表键值有(在调用数据库操作前需要有正确
的键值存在): 

---- 数据驱动程序所在目录的设置: 

---- HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATH(字符串
值) 

---- 语言驱动程序所在目录的设置: 

---- HKEY_LOCAL_MACHINE\Software \Borland\BLW32\BLAPIPATH(字符串值) 

---- 语言驱动程序文件名:HKEY_LOCAL_MACHINE\ 
Software\Borland\BLW32\LOCALE_LIB#(字符串值) 

 其中#为编号,按顺序为0、1、2、3......如:
 HKEY_LOCAL_MACHINE\Software\Borland\
BLW32\LOCALE_LIB0="fareasst.bll"
 HKEY_LOCAL_MACHINE\Software\Borland
\BLW32\LOCALE_LIB1="usa.bll"
---- 就这些了,按此办法即可有效减少BDE驱动程序的大小,例如只用TTable控件
操作Paradox数据库,则只要Idapi32.dll、Blw32.dll、Idr20009.dll、Fareast.
bll、Usa.bll、Idpdx32.dll六个文件即可。 

---- 这些文件可放在任何一个目录,只要在注册表指明即可。OK,BDE由9M多减到
不到2M,ZIP一下就700多K了,比原来的应用系统减少了不少吧。 

---- 以上程序在PWIN98+DELPHI3.0下调试通过. 
   
 
  如果你有什么好的资料,可以寄给我哟:) <<回到首页 <<上一篇 下一篇>> 



------------------------------------------------------------------------
--------
  Delphi 技巧集 
   
  Copyright 1999.11 by 东子 Mail to me! 
感谢广州视窗提供主页空间 


--

       大海无边天做岸
               山登绝顶我为风

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.944毫秒