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

精简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下调试通过。

专访4秒源码商城CTO陈杰:扎根互联网的“不安的心” iOS UIView动画实践(一):揭开Animation的神秘面纱 【前端人生】Teambition前端工程师陈涌:非计算机专业,依托社区不断成长壮大 iOS UIView动画实践(二):Spring Animation与人机交互 基因组与数据整合:DNA应用开发正在临近 2015 PHP框架调查结果出炉,Laravel最受欢迎! 【CTO会员专访】KEEN创始人兼CEO王琦:在GeekPwn,遇见一极棒的安全人才 创业公司都在使用的3款Python库 深入理解Objective-C的Runtime机制 你不知的Docker 创办人兼CTO游走美法的浪漫狂放 《近匠》环信CEO刘俊彦:移动客服的未来化场景 iOS UIView动画实践(三):Transition Animation 【CTO讲堂】无社交,不App!——为App加载强大的通讯社交引擎 【探秘ES6】系列专栏(七):箭头函数 【前端框架】Backbone.js在大型单页面应用中的应用实践 【探秘ES6】系列专栏(六):解构赋值 《近匠》TestBird,专注的手游自动化云测试平台 【探秘ES6】系列专栏(八):JS的第七种基本类型Symbols 专访李林锋:我与Netty那些不得不说的事 手把手教学:巧用Core Data和RubyMotion开发iOS应用 《近匠》琥珀天气,精细化打磨征服Google Play 【CTO讲堂】人工智能到底能为我们带来什么? Linksys再度回归中国市场,主推智能路由 Windows 10:全平台战舰与移动化破冰——微软(中国)操作系统工程院院长谢育涛专访 专访友盟CEO叶谦:深挖海量终端用户数据的价值 七牛资深前端工程师马逸清:前端测试探索实践 实战iOS 9:开发者必须掌握的三种搜索API 腾讯Bugly干货分享:浅谈Swift在实际项目中的应用 【前端人生】ThoughtWorks黄峰达:利用横向扩展方式,快速学习前端新框架 这是前端最好的时代——论前端的“三化”建设 游戏引擎网络开发者的64做与不做(一):客户端方面 请问在vbscript中怎样判断一个数,是否能被3整除 MSN Messenger5.0发送文件到MSN Messenger4.6,为什么总是连接不上? sql2000的问题,谁能知道? 100分:誰有thinking in java 2 的中文電子書和例子代碼,給我一份吧? 关于将图形放大缩小的问题. jsp后缀名大小写问题(急,在线等!) sourceforge主站上不去了,那还有比较大的sourceforge站点?最好是美国的。 如何取得一个程序的内存占用率,cpu使用率等信息呢? 如何解决MSN Messenger5.0不能发送文件给MSN Messenger4.6的问题? 怎样把时间放到数据库表里,格式需要转换吗? 文件操作,帮个忙吧? simple question 60 points wait for your picking 如何卸载rose 分虽小,结得快的啊!讨论一下…… option explicit是什么意思 大哥大姐们!看一下嘛!帮帮我! 又一次被奶牛拒掉,而且有了注册机。 simple question 60 points wait for your picking (菜鸟的问题)在EditBox中怎么换行? 超级难题 SQL如何写??? 如何让WinCE支持DVDROM 請問如何在ASP.NET中實現從客戶機上傳文件到服務器? 新手问:我声明api,但是参数里有我没有定义的类型,pb报错,怎么办 关于Tclientdataset中commandtext的问题 关于按扭的简单问题 调用ejb的错误,请帮忙看看,帮我顶顶也给分,谢谢 关于lei的配置问题 java中 ,换行为\r\n ,空格为什么呢???? 关于快速排序的问题?在线等待!!! 如何在网页上显示动态图表?(送100分) 高兴,散分,收集故事喽,多讲多得,不讲不得。请斑竹留情,不要删除。 一个文件上传的bean编译成功了,但不会使,哪位用过,请给出使用的源代码,或者其它能实现上传的也行,越简单越好并附说明的 我想在触发器中得到对当前表的SQL操作的内容,应该如何实现??v$sql视图中有相关的信息,如何提取?? 心情好好,散分,各位谈谈LINUX和UNIX的感受啊:) Can u help me? 在B/S下如何根据不同用户来相应的mail库 insert into 求解! 各位高手帮帮忙,关于存储过程的问题 请教:VFP6在表单1中,关闭表单1打开表单2。结果显示表单2后,表单1又显示了一下才关闭。怎样让表单1直接关闭呢?谢谢! 很简单的问题--可是我不懂如何用javascript实现弹出窗口(无菜单和工具条的) 请高手帮忙有关“邮件多播”的问题。 《Oracle Pro *C/C++设计》的下载 哪位有最简单的SERVLET的里子,包括添加,查询。。。 水园的人有没有搞过聚会啊? SOS,用脚本连接数据库问题,100分求助,请帮忙。 救救我!SOS!SOS! 请问谁有恩雅的Mp3下载地址吗? 提示wscript未定义?该如何改呢? 关于C#遍译可执行程序问题 请高手看看,这个问题很有意义!为了同时查询不同的数据库(在不同的服务器上),请问用ASP怎么样实现多线程查询不同的库? 我是初学者,在开发ejb中,请问update、add和delete 的操作 ,在session bean中直接写sql来updat、add、delete语句对库操作行吗?还是在e 如何写英语日记以提高英语水平 英语,是一门很重要的学科,我们都要认真学习它.对英语感兴趣的那些同学会觉得英语很有趣.那些对英语没兴趣的同学会觉得英语很无聊、但是,无论你喜欢不喜欢英语,你都要认真学习,因为英 作文我眼中的同学 keep in touch with和keep up with有什么区别?如题 keep in touch with 是与某人保持联系 keep up with也有这一层的意思,那么他俩有什么区别吗?是用法不同吗? ju:英语音标 读 hurry 用be动词适当形式填空(am,is,are) 音标JU;读什么给个土音 Hurry 用be动词的适当形式am,is或are填空1."I"__the ninth letter in the ABC.2.It __an English book.3.--__ you a teacher?--No.I__ a nurse.4.20161009__her ID card number. ju用音标怎么读 “hurry 英语年月日记法告诉我英国人和美国人两种年月日记法.是年月日,记法,不是年月,日记法例如2008年8月8日用英语怎样表示? 音标:ju怎么读?juin怎么读? 朋友推荐英语口语韦博英语,我了解过酷酷口语怎么样呢? 改病句:灿烂的阳光柔和地洒向春天的田野,怎么改, 英语是不是所有学科中最简单的啊? Hurry up!恳请英语大神帮忙详细解释一下关于虚拟语气的一个疑问,跪谢!如题:虚拟语气中,与现在事实相反的假设(虚拟条件句)从句用:If +主语+动词的过去式(动词be用were)表示,主句用:主 灿烂的阳光柔和地洒向春天的田野急……用用用用用快回复一天之内 give怎么变过去式? Hurry up!数学达人快来,麻烦详细解释一道填空题的参考解释,答得好的,如题:已知正四面体(所有棱长都相等的三棱锥)的俯视图如图所示,其中四边形ABCD是边长为2cm的正方形,则这个正四面体 以try to keep up with me开头的英文歌叫什么名字 以[ju;]为音标的5字母单词,以p开头 SPEED DRIVER 2 那辆选不到的车十什么情况?有辆黑影的车,全都是?能选吗,怎么选 冬天快完了,春天就要来,太阳特别温和(修改病句) 是只发/ju:/音的单词,音标就只有/ju:/这一个. 作文《我眼中的同学》 描写秋的成语(4个) 英语翻译I think the people ____ _____ _____ _____ ______ are really cool . 定语从句 the speed ( ) you drive your car mustn't be too highA in which B at which C by which D on which 我现在是高一 我的英语笔记有好多 我该怎样去处理它们呢 笔记太多是不是有什么不好啊 音标带ju的单词 Despite the traffic lights ahead,the car continued ______ full speed.A withB inC onD at 找人帮写英语日记!普通的就可以,不要太多! 怎么努力怎么拼才可以实现我的理想,考上复旦.从这个学期的期中考之后我就开始拼了,每节课下课就开始做题,不会的就去问同学问老师.回到家里休息一下听听音乐就又开始做题看书,做到10 Although the traffic is not busy, he likes to drive at a _______ speed. 还有好多作业没做 昨天背英语呢 5篇征文6篇日记 怎么办啊帮帮我吧 以[ju:]为音标的5字母单词 single和Hurry up分别是啥意思? 同性恋的英文是什么? 英语怎么说?如题.简短一点.一句就够 hurry 修改病句:此时此刻,我身边又回想着快乐童真的歌声,诲人不倦的心声和尽情嬉闹的身影. 失之交臂怎么解释?怎么造句?它的近义词是什么?…………哈哈哈 We should help him write letters改为否定句如题 此时此刻,我耳边又回响着充满墨香的书声,快乐童真的歌声,尽情嬉闹的笑声,诲人不倦的心声;我眼前又浮现出引人入胜的课堂,又去开心的郊游,你追我赶的赛场……仿写这整个句子,用排比的 下面是一组近义词,请你先辨析它们意思上的细微差别,然后造句.模模糊糊—— 迷迷糊糊—— som time,sometime,some times,sometimes的区别谁能告诉我这四个短语的区别啊,应该怎么用? 近天郊游,同学们即更高兴又开心地玩了一天【修改病句】 You should write him a letter.改为同义句:You should ____ _____ ____ 高中生背英语课文有助于提高成绩吗 此时此刻,我耳边又回响着充满墨香的书声,快乐童真的歌声,尽情嬉闹的笑声,诲人不倦的心声;我(看补充)此时此刻,我耳边又回响着充满墨香的书声,快乐童真的歌声,尽情嬉闹的笑声,诲人 You should { write a letter to him}对大括号里的You should { write a letter to him}对大括号里的句子进行提问.答案的格式要对应What ( )i( “get 我眼前又浮现出引人入胜的课堂,热火朝天的劳动,有趣开心的郊游.(用我眼前又浮现出造句) 英语这门学科有趣吗? get up什么意思? 每天坚持写英语日记,英语能提高吗? 英语翻译:据说,新学期又开设了初中化学,这是一门很有趣的学科. 我眼中的同学作文
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘