说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

精简Delphi数据库应用系统-定制BDE驱动程序

HTML文档下载 WORD文档下载 PDF文档下载
精简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下调试通过。

IBM:你好,互联网 光网络SDN化的四大驱动力及两条路径 《近匠》酷传:解除App发布和监控痛苦 有道heX正式开源:用HTML5和NodeJS开发桌面应用 在3D空间创作:英大学生发明增强现实设计产品 2014年3月浏览器份额:Chrome终超Firefox 成市场第二大浏览器 2014年3月操作系统份额:Windows 7大涨,Windows XP仍未跌破27%大关 路透社:iPhone 6仅有4.7寸版本,将于5月量产,5.5寸遭冷冻 高端实战技术培训:OpenStack企业应用之路 据统计,Oracle已击败IBM跃居软件行业第二 【技术博客推荐】2014年值得关注的10个开源项目 Intel在深圳建立智能设备创新中心 将投入1亿美元 免费获得价值1200元Unity2014顶级盛会门票! IBM公布Softlayer中国业务落地时间表 推荐30款最佳的数据可视化工具 数据库迁移测试:选白盒还是黑盒? 东软发布首款英特尔架构企业级移动终端解决方案 英特尔与腾讯创立游戏创新实验室 推进RealSense技术 《近匠》系列沙龙之探寻绝密武器:移动跨平台开发 iOS走向开放:苹果新推iAd Workbench广告服务 腾讯薛伟:快速模型更新在精准广告推荐中的应用 微软Build2014第一天要点精华汇总(组图) Windows 8.1 Update 1五大改变:任务栏回归,增强鼠标支持(图) 【十大院士】怀进鹏:全球的计算模式可能重新形成 微软Build2014第一天应了解的15件事 TypeScript1.0发布,完美支持Visual Studio系列产品 欲与Android展开价格战,微软宣布在移动设备上免费开放Windows 2014深圳英特尔信息技术峰会次日要点汇总 4月4日:微软39周岁,生日快乐! 正式进军硬件市场 Atlassian发布可穿戴设备Bitband 云计算时代IT专业人员需具备的10项技能 OLE对象在数据窗口中的问题 当把web application 打包成war的时候,有什么方法让jbuilder不再重新编译没有被修改过的jsp文件? 给我一个答案 有谁最近到上海商泰软件(在淮海路)去笔试过的?麻烦告诉我都考些什么? 新买的笔记本,硬盘空间差别比较大怎么办? 求助sobig以及变种病毒的防治 向高手求教。。关于开ftp站点 我是ASP做的留言板怎么在.net环境里不能用了!!!!!!!!!!!!!!!!!!!!!!!!! 很急!请问:怎么用VBS判断输入框里的文字是中文还是字母? 子数据窗口的问题? 如何生成这个SQL语句? 请教一个SQL语句问题 多个线程使用一个odbc连接,数据库操作时,是否要加锁? delphi中有沒有類似vb中iif的函數? 什么备份软件支持 UNIX WARE? delphi中有沒有類似vb中iif的函數? 页面跳转求教!!! 用MFC做的一个ActiveX,怎么样打包成CAB? [求助]如何进行智能系统开发? 求教SQL语法问题 一个问题,快速给分,先到先给,在线等待 征友 关于状态对象与无状态对象 如何修改DW->Grid网格线的颜色 求助!在PB中用过WINSOCK的看过来。 如何让DBGrid只显示时间而不显示日期? xp操作系统安装SqlServer2000???? 哎,搞了快一天了,这个删除的东东还是搞不出来,各位HELP ME? apache2.0.47和tomacat4.1整合的一个问题,用mod_jk-2.0.42.dll 急需<<短消息网关设备规范1.2>>,接分 动态设定数据窗口的返回参数(仅有15分) 主题:各位老兄,dtmf码怎么识别? Help Me!(求救!) vmware4.0.2build5589下安装redhat9的问题,非常奇怪 [求助]如何进系智能系统开发? 公司内用代理可以web,我可以用这个代理上MSN吗? 弄个了BBS玩,希望大家能捧捧场 关于LINUX内核模块的按需卸载及安装 DataGrid又一模板问题? 如何把很多.java程序打包到一个.cab文件里? 我在sql里面见了一个DTS 我不知道在c#里面怎么写程序执行它 我写的一个粒子系统屏保,大家看看不?其中有些技术问题,希望和大家讨论讨论。 菜鸟初学问题,别人给我的SQL Scripts File如何执行 菜鸟提问:如何进入xp的安全模式????? 我们企业要上ERP,交通施工行业,请推荐一些企业上ERP方面好一点的文章,不同行业也行,一篇给50分,在线等,多多益善! 初级问题:使用CDO时的cdoSendUserReplyEmailAddress,cdoSendEmailAddress这两项怎么设置? 请教菜鸟问题,在线等待 高分:"MyGina.dll"哪位高手有这个文件,用于屏蔽CTRL+ALT+DELETE?? 急!用odbc操作access时,可以添加,但不可以删除.(表的列比较多140个) 推荐几本比较好的适合初学的汇编教材 寻找对手,乒乓球,围棋,台球,本人在深圳大冲 此题如何使用复数How many _______ are there in your class?a.boy studentb.boys studentc.boy studentsd.boys students感谢诸位的支持。由于 studyflower回答比较具体,只好将分数给他 把下面20个成语补充完整,然后用所填的字组合( )壁无瑕 出生( )死 眉清( )秀 一( )千里 ( )依不舍 五湖( )海 自立( )生 ( )连忘返 日( )三竿 高( )流水 ( )罢不能 ( )马当先 无穷无( ) ( )则思变 ( )梁 卖和见组合在一起是什么字?现代字是卖和见,这两字组合在一起百度找不到, 关于c++复数设计 运行有错误求解决#includevoid fushu(){ class Complex { double real; double imag; }; Complex operator+(Complex c1,Complex c2) { Complex c; c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag; return c; } ostream&operator 有同样大小的红白黑珠共80粒,按3粒红珠子,2粒白珠子,1粒黑珠排列,第75粒是什么珠?黑珠共排列多少粒?请附带算式 盘子里有80粒珠子,甲、乙两人轮流取走1~3粒珠子,谁能最后取完盘子里的珠子谁获胜,如果对方都采取最佳取法,甲先取,那么获胜的一定是谁?获胜的关键是什么? 2位英文字排.混合排列.会有多少种可能阿26个字母.比如ab.cb.gc等等这种.会有多少种可能阿?加钱啦..希望能附上字母的列表.我需要详细的数据.不知道有没有工具可以算出来...需要列表..有朋友 如果是两个人动词like还要体现复数形式吗Jackie chan is my favorite actor.He ( ) a new movie.Bob and his sister ( ) documentaries.Do在什么情况下别Does GO 什么时候下变Goes 两个人做主语.后面时态用单数还是复数 "咥其笑矣"-----这一句是宾语前置吗?该怎么解呢? 物体在一个方向竖直向上的拉力作用下参与了下列三种运动:匀速上升、加速上升和减速上升.关于这个物体在这三种运动中机械能的变化情况,正确的说法是A.匀速上升过程中机械能不变,加 中非民兵与前叛军爆发冲突 造成近40英媒:养老金制度需考虑气候变化 否则格陵兰岛取消铀矿开采禁令恒天然调查:无肉毒杆菌风险 应改进生省委常委分赴教育实践活动联系点参加指台\"立委\":美国这种邪恶国家一定男子“拍卖初夜”以2600美元成交 外交部:日本应停止渲染外部威胁 说明金砖国家共议“气候变化对粮食安全不利安徽宁国副市长看望百岁老人 疑似PS美驻吉尔吉斯使馆收到不明信封 内装白金融IT成北京写字楼需求主导力量让干部吹不起“数字牛皮”深圳赛四强 年年“金花”开D07:摩登周刊·星物志今天天气复旦投毒案林森浩终审判死网络文化进军大银幕“十冷”光搞笑还不回到宣告新生的地方东城去年拆违疏解3150人上海“爱马仕之家”冬季主题橱窗开启林峰变“男版千颂伊”穿越之食色有双妖艳花丛神医擒美录倾城红颜不死邪神新狩猎红尘艳福难挡北京棋缘大唐2012汉之娇女——陈阿娇新传邪门皇城相府旅游上海人民广场旅游千龟山旅游老君山黎明旅游东西寺塔旅游晋祠博物馆旅游武定狮子山旅游蜘蛛窝旅游莲花盆旅游仙人脚旅游绝壁长廊旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘