bestlong 怕失憶論壇

 

 

搜索
bestlong 怕失憶論壇 論壇 Delphi 精簡 Delphi 資料庫應用系統 - 訂製 BDE 驅動程式 ...
查看: 2380|回復: 0
go

精簡 Delphi 資料庫應用系統 - 訂製 BDE 驅動程式 [複製鏈接]

Rank: 9Rank: 9Rank: 9

1#
發表於 2010-1-24 13:30 |只看該作者 |倒序瀏覽 |打印
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了,比原来的应用系统减少了不少吧。

以上程序在 WIN98 + DELPHI3.0 下调试通过。


資料來源:http://www.winu.cn/space-14160-do-blog-id-51726.html
我是雪龍
http://blog.bestlong.idv.tw
http://www.bestlong.idv.tw
‹ 上一主題|下一主題

Archiver|怕失憶論壇

GMT+8, 2024-4-30 18:38 , Processed in 0.015410 second(s), 10 queries .

Powered by Discuz! X1.5

© 2001-2010 Comsenz Inc.