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

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

Android开发进阶之NIO非阻塞包(七) Android开发进阶之NIO非阻塞包(六) Android开发进阶之NIO非阻塞包(五) Android开发进阶之NIO非阻塞包(四) Android开发进阶之NIO非阻塞包(三) Android开发进阶之NIO非阻塞包(二) Android开发进阶之NIO非阻塞包(一) Android开发进阶教程系列(一)目录篇 Android开发调试工具TraceView多图演示 Android JNI实例代码(二) Android JNI实例代码(一) Android JNI开发高级篇 Android NDK开发技巧二 Android JNI开发进阶篇 Android JNI开发提高篇 Android JNI开发入门篇 Android NDK开发技巧一 Android数据库ContentProvider封装原理 Android Permission列表,ADT 0.9.9 bug Android Theme和Styles内部定义解析 Android平台下图表绘制相关方法 Activity类的runOnUiThread方法你用过吗 Android上鲜为人知的UI控件介绍和使用 获取Android手机上的图片和视频缩略图 Android JSON解析示例代码 Android ANR介绍与避免 Windows Phone 7 SDK完善度不如Android m3 Android中使用定时器TimerTask类介绍 控制Android LED灯颜色代码 Android应用Icon大小在不同分辨率下定义 Android控件美化Shape你会用吗? 請問TForm中相當於MFC中OnIdle()的event是什麼 数据库问题,急!!急!急!急!急! CISCO2600的ISDN拔号不会自动断线,怎么办? 谁知道怎么验证一个用户名和一个密码是不是在WINDOWS2000中添加过的?而且正确? 。。。谁能给我发一个“智能狂拼2”的下载连接地址 请求--网页评比规则? 在visual.net上无法调试存储过程。急。求救 asp加密程序 我用SQL server+DElphi中的ADO做数据应用程序,数据库备份后,怎样实现数据库的恢复? 贴子太多了,看不过来了,大力liuri出来讲讲 sqlserver 用 jdbc出错 ,Microsoft][SQLServer 2000 Driver for JDBC]Error setting up static cursor cache 如何在C#中用代码控制本地FTP服务打开和关闭?99分,中秋快乐. 关于dll的问题,在线求教 昨晚,我抱了我MM一下!开心呀!散分! 有什么软件可以使上网不受防火墙的限制? 一个C的图形函数,请问怎样用的? 数据库查询语句执行错误 web页面的activex控件怎么调用服务器上的动态连接库?? 中秋散分 【泰坦】祝大家中秋节快乐!(1) 纯jsp聊天室的页面刷新问题 这个MSDN是不是常说的那个MSDN资料库? 一句sql语句问题 【泰坦】祝大家中秋节快乐!(2) 我的触发器为什么没有响应啊。在线等啊 pb9.0+sql server 2000,怎样制作程序发布? pb给dll传递结构数组的问题。急!!! pb9.0+sql server 2000,怎样制作程序发布? 为什么关闭MSDEV的时候,会导致它占用90%以上的CPU时间??? 如何在代理中同時讓兩個套表同時結案 菜鸟问题:我想把一个CString类型转换成LPBYTE类型应该怎么弄? 如何在JRUN3.1中连接SQLSERVER, 我的web server用的是IIS5 怎么样在JSP中显示 WORD 或 WPS 格式的文件? 如何在servlet 中存储数组用javabean 取数组用JSP显示(在线等,急,谢谢) 如何使Response.Redirect "xxx.htm"打开的网页是满屏显示! 鄙视民工的人,给你讲个故事听。 庆祝中秋佳节,大散分~ 中秋节到了,与大家同庆,散点分!!!祝大家开心呀! VC的bug!!! 游戏、网络、图形等版块正在整顿中,有意见或建议欢迎提出!! 如何进一步提高C语言的功力???? 学习JSP的过程中遇到的问题(问题1),请进!!! 大家说一下网上下载的水晶报表crystal report 9.0会过期吗!!买一套要好几万的! 有个问题想请教,关于数码相机生成的图片的格式及存储方式! 在网站上数据保密问题 我用Inet控件下载文件时,经常会遇到无法结束程序的问题? 我在用电脑的时候,有时会提示我们插入WIN98光盘,但我现在用的这台,它会自动扫描的,自动查找,是怎么回事啊,在线等啊。 请问有DOS下的C++编译器吗???哪里下载?? 如何指定DataGrid的列宽呀 求boundschecker下载地址 怎么实现放大缩小的功能? 日常生活中,你一定品尝了不少家乡的特产.那么,请你介绍一种自己最喜爱的家乡特产,并给它拟一条广告词,让它走出陕西,名扬天下.(陕西 西安) 世界上最美丽.最优秀的女孩是谁? 全世界最出色的女低音是谁?请问美国的Marian Anderson(玛丽安.安德森)和英国的Kathleen Ferrier(凯思琳.费丽尔),哪个更胜一筹呢? 这个世界谁最优秀, 秋色到深闺,夜扫梧桐叶的含义 沁园春长沙作者笔下的秋景活泼美好的这样写有什么意义 柏拉图为什么要将诗人逐出理想国? 介绍一种自己最喜爱的家乡(启东)特产,并给它拟一条广告词,让它走出家乡,名扬天下. 乙酸乙酯可否点燃 1.将氟碘硫氢置于水中加热,过十分钟后加10毫升乙酸,14.8克葡萄糖和5.85克氯化钠最后生成什么?2.什么东西加酸会有气泡,加热会凝固,加硝酸会变成黄色(即蛋白质),空气中放置一段时间后有 做实验需要乙醇丙酮等化学试剂,听说北航和北医三院那边有卖的地方, 禁化武组织说叙利亚已按时销毁所有化武中方严重关切美监听活动报道 要求美方律师称斯诺登将开始在俄罗斯某大型网站欧盟称将核实欧洲是否协助美国安局搜集联合国计划成立预警机构 防范小行星撞俄罗斯称政府内部系统可防止领导人电话女童目睹家人在车祸中被烧死 获赔1.安倍经济学:IMF认为有益经济 日本女子坚持嫁给残障男友 坚贞真爱感动世策划暗杀曼德拉犯罪团伙获重判 主犯拒日媒:安倍将亲自向中国救人留学生颁发国际社会认为李克强讲话增强市场信心以改革创新驱动 中国经济长期持续健康“国十条”能否倒逼 大气污染防治法修环中国赛今日西安发车全运圣火缓缓熄灭十二运昨闭幕在小与大的博弈中全运就走进了微时代广州恒大启动亚冠A计划十二届全运会落幕深企全速发力领跑光热产业中国商业信用交易平台落户前海“请直奔主题,谈问题建议”三国之云台欢乐大世界超级落榜生流浪仙人超级游戏分身大宋权相重活之1998通灵宝鉴混元武尊限制级召唤我的妹妹是阴阳眼关城旅游酒泉公园旅游嵩山旅游地坛旅游军都山滑雪场旅游银滩旅游梁山寺旅游舍身崖旅游石笋峰旅游剑门关旅游千佛崖旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘