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

精简Delphi数据库应用系统

HTML文档下载 WORD文档下载 PDF文档下载
精简Delphi数据库应用系统

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下调试通过.

Unity 3D引擎:十大最火的插件推荐 重塑品牌 RIM更名黑莓 发布BlackBerry 10移动操作系统及新手机 NoSQL依赖的不只是大数据 还有应用程序架构的改变 新一代Apple TV增强内在组件 外观不变 加速Web开发的7款知名HTML5框架 Firefox OS开发者日来袭 5小时15款Web应用出炉! 微软发布Office 365家庭高级版 订阅费499元/年 鲍尔默对Office信心满满,十亿用户量触手可及 【多图】梦幻现实 IBM的未来超级计算机水世界 一名骨灰级工程师的OpenStack部署总结引发的讨论 解读DuckDuckGo搜索 百万点击也敢叫板Google 开发者成功学:扔掉你那些很sexy的想法 VMware严控ESXi API 引发用户和ISV被绑架担忧 布局O2O Facebook推出实物礼品卡 iSuppli:微软Surface RT实际销量远低于出货量 业界前三甲:App Store两个刷榜者,站了出来 极客无极限 一行HTML5代码引发的创意大爆炸 将服务器“弃”之荒野? 微软玩转露天数据中心 Dropbox:我们现在关注“内容” 而不仅仅是文件存储 访Teradata Aster Mayank Bawa:抛弃无效数据,让分析走向大众化 谷歌Chrome或新增通知中心 与Google Now整合 传言称HBO节目将登陆苹果Apple TV? Crashlytics被收购,应用崩溃报告服务要火了? 微软公布WP7.8完整功能 诺基亚率先升级 BlackBerry 10或许不仅仅是一剂强心针 一周消息树:专访蒋彪:JavaEE是企业级开发首选 移动周报:从封闭到开放,iOS生态系统要变天? 游戏平台上:Win7已跌破70% Ubuntu突破1% 不再那么传奇 扎克伯格时代或结束 微软应该联手Firefox OS,打造破坏性生态系统 中美IT人才俱乐部第一期:硅谷经验面面观 救急 装一个rose要多大空间啊 关于CJ60库实现Visual stduio的界面的问题! 请问要实现在空表上建立数据时,如何做到text1.text能显示“1000”,即Number的“标识种子”值! 这个UDL文件错在哪? 推荐一篇文章《麦子的颜色》 大家来灌水. vc service pack? 关于聊天室的界面 c++库函数的头文件有.h和没有有什么区别?为什么c++的库函数在VC很多不能用,怎么办? 可以在dll里面放SDI框架并调用吗? MIDAS中,怎样通过Client.exe生成MS Sql2000数据库?(就像《管家婆》那样,运行一次客户端,输入数据库的名称,就会自动在SQL Server2000 如何查找一个对话框的owner窗口? 我应该选择VC还是C#??? 在系统启动时至少有一个服务或驱动程序产生错误,详细信息,请使用事件查看器查看事件日志 操作系统是如何发现新插入的设备的? 关于对Com1,Com2读取条形码的编程 帮个忙,先,谢了! 接着那个堆栈问题,创建了,试验了。但应用时出现了对创建错误? 我想在对话框上输出一个char数组,用什么方法比较好????????????? 怎样移动较大副图片的时候避免或者尽量减少闪动? 怎么把网络编程和数据库联系起来 如何贴背景透明的按钮?急,急,在线等待!!! 奇怪了! 请问如何获得居于网中一个工作组下的所有计算机?? 还是一个dll内部变量的问题。 怎么回事? 送分! 大家看看 请问MSDN的帮助怎么获得 怎么样获得一同名text表单域的值? **C++语言的设计和演化** 图书好贵呀!!! 求表达式正确与否的校验算法 怎样控制DllMain?在哪里可以编辑这个函数? 同一个句柄对于所有进程是否一样? 我的red hat linux8 怎么才能配置声卡 如何判断一个字符串是否是常数 《Java与模式》一书已经出版 --- 作者 各为高手,如何能够看到我打开网页的session的值 关于 Geforce256 的问题. 一定给分!数据库查询问题 solaris下有没有用过syslog编程的? 推荐个好点的flash的控件吧 数据库中的Currency类型字段 初学pb8请指教!多谢! 如何让richtextbox支持语法高亮显示 请问rtsp是什么协议? 函数返回临时指针到底如何处理较好? 原来在bcb4下的程序为什么在BCB6下运行出错? 我是新手 如何用代码关闭显示器和硬盘??????? 修改病句:如果坚持体育锻炼,才会有强健的体格. 如图,A,B表示两个厂库,要在A,B一侧的河岸边建筑一个码头,使它到两个厂库的距离相等,码头应建筑在什么位置(图片中的红笔画的是我研究时画的,可以忽视这红线) we are not fit in with each other帮忙翻译 去西欧旅行需要注意什么? 卡尺怎么应用 what was your mother doing when I ----(phone)you yesterday?并翻译 请问涂卡尺在哪里有得卖? 一条大河上有A、B两个码头……一条大河上有A、B两个码头,A在B的上游50千米处,客船、货船分别从A、B两码头同时出发向上游行驶,两船的静水速度相同且始终保持不变.客船出发时有一物品从 how long did you write to your e-friend yesterday?译 卡尺,卡尺怎么读? 卡尺怎么使用,谢谢了 七大洲平均海拔都是多少? both的位置 如何正确使用卡尺 七大洲哪个海拔最高有喜马拉雅山 海拔就高啊 both 的位置Proficient in both written and spoken Chinese还是 Proficient both in written and spoken English 数显卡尺第一次使用时候,要按下ORIGIN是什么意思?使用的是日本三丰的量具,新买的卡尺上面就挂着一块牌子这样特别说明:第一次使用该卡尺时的动作步骤, Though having lived abroad for years,many Chinese still ______ the traditioA.perform B.possess C.observe D.support为什么 英语中both的位置,请高手帮忙在英语中,both应该放在句子中的哪个位置?在什么词前什么词后,最好有例子说明最好不过是放在be动词后边,那么为什么会有这个句子?They both are interested in the Great W 寒假的英文单词是什么 世界七大洲中,平均海拔最高的是什么给出四个选项,请尽快回答A.亚洲 B.非洲 C.南极洲 D.北美洲 化学给我们带来了什么弊端 化学在生活中衣食住行的利与弊要分类,如:(每样一个就可以) 衣:利:弊:食:利:弊:住:利:弊:行:利:弊:急用! 用英语表示寒假这个单词 描写下雨时的四字词语 Sarah (visit)many interesting places since she came to live in Shanghai last year.用什么时态填空 I go to Hong Kong by plane是否等于 I fly to Hong KONG为什么? Mr Smith came to china _____November 2007A:forB:onC:in说明理由 一年四季什么时候做运动最好 will he go to Hong Kong by plane or by train?改为同义句will he fly to Hong Kong or (take/taking) a train?who is the first person that (eat/eating) cakes? 英语neither the Smiths nor their employer__to china,but they know the country well.a.have goneb.have beenc.has goned.has been There are many visitors come to china to visit every year中国话怎么错的 世界上有七大洲 是那七个 She came to China____the age of five如题,里面填介词 家乡的奶豆腐作文400字以上 世界上有哪七大洲? ____Smiths are on_____visit to a beautiful city in china A the,/ B /,a C The,a D A,the 故乡嫩豆腐怎么样 世界七大洲是哪些? 卡尺的使用方法 mr.Smith (come)to China last month 麻烦你了 翻译学什么语言好 带表卡尺的使用方法 急 ___ greens visited _____ western part of china at _ end of last year.冠词填空 翻译要学哪些语言 齿厚卡尺的使用方法 Mr.Green worker in china last year对last year进行提问同上 英语寒假计划按照星期的旅游计划, 方式副词和行为副词的区别是什么? 树字开头的成语树开头,结尾是花的四字成语 请你用英语来写写自己的寒假计划! 1、both和all作为形容词和副词分别在句中的位置和用法 2、want和would like 的含义和用法 含有树字成语 世界七大洲是那几个 happy的副词形式是什么?形容词变副词有什么规则? 带“树”字的成语 双色叶树种是有哪些 生物质作为化学化工原料的利弊 如图所示,在河L的同侧有A,B两个村庄,现要在河边建一个货运码头,使该码头到两村的距离相等,问:码头应建在何处?请在图中找出码头的位置. 新叶有色树种有那些这个是我们观赏树木课要用的.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘