共计 2099 个字符,预计需要花费 6 分钟才能阅读完成。
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_MACHINESoftwareBorlandDatabase EngineDLLPATH(字符串值)
语言驱动程序所在目录的设置:
HKEY_LOCAL_MACHINESoftware BorlandBLW32BLAPIPATH(字符串值)
语言驱动程序文件名:HKEY_LOCAL_MACHINE SoftwareBorlandBLW32LOCALE_LIB#(字符串值)
其中 #为编号,按程序为 0、1、2、3…… 如:
HKEY_LOCAL_MACHINESoftwareBorland\
BLW32LOCALE_LIB0=”fareasst.bll”
HKEY_LOCAL_MACHINESoftwareBorland
BLW32LOCALE_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 了,比原来的利用零碎缩小了不少吧。