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

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

VB设置打印页边距 VB实现文件查找功能 VB使用SendMessage函数滚动文本框控件中的内容 VB使用 WIN95 的选择目录对话框 VB使用INI文件 VB使用WriteFile 块读写数据 VB使用历史文件记录 VB使用内存映射文件加快文件操作速度 VB数据报表设计器在多层结构开发的应用 VB突破 TextBox 32K 的限制 VB拖拽节点时实现目录树自动翻滚 位图文件内部初探-VB资料 VB文本的加密与解密 VB显示盘中所有的目录 VB压缩MDB文件 一个移动文件的简单方法-VB资料 VB移动文件到回收站 VB隐藏文本框控件的环境菜单(又一方法) VB隐藏文本框控件的环境菜单 VB用API复制移动文件 VB用OleDragdrop事件接受拖放文件 用VB进行文本文件的再处理 用VB开发应用程序如何使用INI文件 用VB实现文件查找功能 VB用Winsock控件实现文件的下载 VB用两分法搜索列表框或组合框中的数据 在 ListBox 之中, 如何检测鼠标所在位置的选项? -VB资料 在 Textbox 中,录入 N 个字符后移到下栏-VB资料 在 VB 中控制 Word 在GotFocus时快速选择文本 -VB资料 在VB中使用文件对象 100分~~100分~~高分求购。。。我也‘倾家荡产求购优秀系统分析案例’(paste from yyzh)。。。100分~~ 全中文的用Rose做的实际项目的UML模型! 救命!!我的机器不能下载东西了,怎么回事?? 求教邮件编程问题,邮件客户端如何实现“在服务器端保留备份的功能“? ciscoworks 各位大哥大虾,VC下如何用ADO连SQL SERVER?(急) ShellExecute和CreateProcess有什么区别? 关于海量数据、最有效率的排序、硬盘缓冲与映射、专业数据库的讨论 如何用VB编启动是可以带参数的程序呢?(例如:我自定义了一种文件,双击用我的程序打开,程序自动会打开这个文档 昨天我过生日,今天分蛋糕给大家 请问哪有《java图形设计2Swing篇》可以下? 我要用一个数据库去实时访问另一个据库,我该怎么办 URLghj1976@csdn.net----别吓我,有请您老人家! 谁给我介绍一下sql server7.0教材的比较好的下载网站,我给他20分。 我都急死了,到搜索引擎里搜到的好几个站点都不能用,到底哪儿可以当到3DMAX? 谁有写的比较好的邮件收发程序? 一个微软证书的私钥问题 微软证书的私钥问题 求助,简单问题 男人最快乐的十个瞬间! solaris下装oracle8.1.6遇到jre环境问题 怎抹加分?我准备给别人加40分,可我最多只能加20,请问另外20分怎末加分,为此我可能已得罪了一些人了。 请教下载的问题 如何在运行时动态修改Quick Report的打印机设置? 怎样做一个接受拽拖的LISTBOS(例如,把资源管理器里的文件拖到上面,就自动增加一项 ,就是拖的文件名) 怎样才能隐藏在ctrl+atl+del中进程列表中的项目啊 用C写DLL 请问:airhorse(编程至尊宝),infopower3000的注册码可以用于商业目的吗? 结构化异常处理 linux下如何配置内置Mondem? red hat linux7.0下安装oracle8.1.6遇到问题 我是菜鸟,问一个关于类的问题 问题:TWebbrower中,InnerHtml和OuterHtml以及InnerText和OuterText之间的区别 (加急)我要傻了,快救命啊!高分求救!!(回答正确者尽管开口要分!) ==============VC中怎样调试控制台程序=============? 再问:MS SQL6.5 的.DAT文件怎么恢复,请高手帮忙,(100分绝对对线) 白桦林 我需要自定义一个鼠标按下的事件,可我不知道该去那个参数?有人能告诉我吗? 有谁有比较好的javacript教学方面的电子文本? 两个关于数据库的问题(上次写的不太清楚),我的分快用完了,只能随便给点意思意思了! DotNet时代真正来临了/VB.NET/Beta2正式版下载地址/大家要就快点/如果FTP停了/可不要怪我 那里有DIRECTX编程的书或资料呢?(用VB编) @_@````兄弟们!!有在WIN2K下用VC6搞开发OR学习的吗? 该是到了绝望的时侯了 DotNet时代真正来临了/VS.NET/Beta2正式版下载地址/大家要就快点/如果FTP停了/可不要怪我 在用户登录后,她要更改密码或用户信息,怎么实现?用cookie吗? 建议增加UNIX开发板块! 寻VB好书 用N-Up样式的数据窗口,检索出的数据有 1,2,3,4,5类数据,1类的有1行,2类的有2行, 在应用程序和DLL中如何永久保留用户的一些设置,在程序从新启动后仍然有上次的设定 怎么样用WHERE进行日期查询呀? 解一元一次方程如何移项,方法. 整式的加减,以去括号和合并同类项为基础,化简后的结果不含( )和( ). 有理数的乘除法仍与加减法类似应先定符号再定什么? 解一元一次方程移项的理论依据是什么 初一数学整式的加减怎样去括号= =.我是傻× 去括号后该怎样变符号要详细说明哦~~~~~~~~~~ 解一元一次方程时移项为什么要变号?求详细原因. 解一元一次方程(去括号),已知x=2是关于x的方程(2m-1)x=8的解,则m的值是--------------.方程2(12+x)=4的解是-----------.(1)3x-2(1-2x)=5;(2)3(2x-5)-(4x+2)=1;(3)5(x+2)=1+2(3x-2);(4) 去括号与添括号的法则 不等式移项变号法则 注是不等号 解用一元一次方程 去括号 用添括号法则做, 这是不等式的什么变号法则? 用括号解一元一次方程! 运用添括号法则解, 求证:关于x的方程x的平方+(2k+1)+k-1=0有两个不相等的实数根 不等式变号法则还是没搞清楚不等式什么时候要变号.谁能跟我说说清楚?2X-4 用去括号法和去分母法解一元一次方程四道题带过程 若关于x的方程x平方-(2k-1)x+k平方=0有两个不相等的两个实数根,求k的最大整数值若关于x的方程x平方-(2k-1)x+k平方=0有两个不相等的两个实数根,求k的最大整数值 什么是解方程,解不等式的移项法则 去括号+去分母的一元一次方程~快·····今天(2007.12.08)帮我找道题目者,加赏分50~ 求证 关于x的方程x的平方+(2k+1)x+k-1=0有两个不相等的实数根 不等式怎么变号? 用去分母法解一元一次方程 :(1)2y-1/6=5y+1/8 ,(2) x-1/2+1=x-1 ,(3) 1+3-x/2=x+4/3-2 ,(4)1/2(x+1)-x+1/6=1 ,(5)1/3x+1/2=2/3 (6)3(2x+1)/4-1=2(2x-1)/3 (7)4(2y+3)+5(y-2)=8(1-y) (8)如果2x^5a-4-3=0是关于x的一元一次方程,那么a=( 已知关于x的方程¼x²-(m-2)x+m²=0 是否存在正数m使方程的两个实数根的平方和为224 一元一次方程的移项怎么移?移项我总是弄不懂 那个数怎么移我也不知道 移过去是加还是减,乘还是除,我就是搞不懂 谁来教教我 普通的移项我会移,但是稍复杂的我就不会移了,像有理数那一 一元一次方程 去括号 是否存在实数m,使关于x的方程4x的平方-4mx+m+2=0的两个实数根的平方和最小?若存在求出m的值及这个最小值 一元一次方程移项怎么移 去括号解一元一次方程 方程3×y的平方+4x+3K=0的两个根的平方和等于7,求k的值 解一元一次方程移项怎么移明确着点 一道解一元一次方程的题(去括号的)!2(10-0.5y)=-(1.5y+2)把去括号的过程写下来 已知方程2x的平方+4X+M等于0的两根平方和是34,求m的值 一元一次方程怎么移项?老是移不来 一元一次方程 去括号与去分母 要有格式!三分之5y+4 + 4分之y-1 = 2 -12分之5y-53分之x+6 - 5=4x3分之7x-1 — 2分之5x+1 = 1格式是:去分母,得去括号,得移项,得合并同类项,得系数化为1,得 满足方程{2x=y=k,-4x-3y=k+8 的x、y和等于3k,则k=满足方程{2x+y=k,-4x-3y=k+8 的x、y和等于3k,则k= 初一数学整式的加减去括号和化简有什么区别 关于解一元一次方程——去括号和去分母的题七年级二班买了35张电影票,公益共用了125元,其中甲种每张8元,乙种每张6元,问甲、乙两种票各买了多少张? 设( )x张,则乙种票买(35- 已知ab互为相反数,cd互为倒数,x的绝对值为5,则x的平方+(a+b)的2010次方+(-cd)的2011次方的值为? 七年级数学整式的加减与什么什么无关的题 求解一元一次方程去括号题两道~加讲解,10(x+30)=15x,2.8(x+24)=3(x-24)去括号得 移项得 合并同类项得 系数化为一得还有啊 我想问问 怎么系数化为一呢?ps 讲一下系数化为一最好列几道题 以便明白 解方程(采用移项法)谢谢 1.(有些东西打不出来用文字代替了,在草稿本上把式子写下来容易看懂)试说明多项式a的三次方b的三次方 + b的二次方- 1/2a的二次方b + 0.5a的二次方b - 2a的三次方b的三次方 + b的二次方 + a的 一元一次方程带括号的习题 利用移项法解一元一次方程, 请写出同时满足一下三个条件的两个整式:①这两个整式的和为3x2+x-1;②它们都是三次多项式;③一个多项式的系数都是正数,另一个多项式系数都是负数 去括号解一元一次方程 移项法比利用等式性质法解方程更为_______,但同时容易出现一个常见的错误是________的问题 第二章 整式的加减单元检测A卷 好好好,如果你给我写出来了,我把我分全给你。 分数的乘除法法则 x+4.6=10.9用移项法怎么做 代数 整式的加减 分数的乘除法运算法则是什么, 移项利用了什么数学原理? 去括号,并合并同类项.-3(2x的二次方-xy)+4(x的二次方+xy-6)a+[2a-2-(4-2a)] 分数乘除法的运算法则是什么? 解一元一次方程,合并同类项与移项.解方程(1)-3x=3-x/9 (2)6y-3/4=4y+5/4 (3)3x+4=x/3 (4)-2x=2-x/6(5)2.5y+10y=6.5y-3 (6)1/2x-1=2/3x+3/2 (7)0.5x-0.7=6.5-1.3x要有移项,合并同类项,系数化为1这些过程 整式的加减以去括号和合并同类项为基础化简后的结果不含什么什么,它的依据是加法 小学整数加减法去括号时怎样变符号?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn