注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

银河军团大本营

光荣的军团,永远的丰碑 <坚持原创>

 
 
 

日志

 
 

古老BDE在Delphi2010下的新问题(Delphi2010中还是不要用BDE吧)  

2013-03-15 12:58:18|  分类: 应用点滴 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  在Delphi2010中打开一个使用BDE及Paradox的老Demo程序,因为DataModule里TDatabase/TTable等BDE组件是打开状态,结果一打开窗体,就报数据文件找不到,打开TDatabase的Params属性一看,PATH用的是相对路径,貌似Delphi2010不认?!改成绝对路径,设计期打开各个表,没问题。于是开始运行程序,结果报以下错误:

An error occurred while attempting to initialize the Borland Database Engine (error $2109)

  在古老的Delphi5里也不能使用BDE,报同样的错误。

  Google里搜索了一下,说是BDE有问题,需要重装,于是找了个BDE的安装包装上了,结果Delphi2010里报“Cannot load driver",单独运行程序则会报以下错误:

Exception EDBEngineError in module XXXX.exe at 0012269A.

Cannot load driver.

  从以上错误来看,怀疑是Delphi2010用的BDE可能升级了,不能使用老的BDE?于是找到Delphi2010安装包中的dbpack_setup.exe重新安装Delphi2010的数据库驱动包,安装完后在Delphi2010里打开程序并运行,还是报"Cannot load driver"的错误。此时打开Delphi5安装时自带的SQL Explorer程序,发现其Databases\DBDEMOS下的.db表都打不开,.dbf表则可以打开。 真奇怪!

  后来,偶然将Delphi2010关掉后,发现之前报错的程序可以正常运行了!并且SQL Explorer也可以正常打开.db表了!这下我才明白:Delphi2010本身使用BDE时会处于独占状态!晕!老的Delphi不会这样啊!

  经试验,无法在Delphi2010里直接运行BDE程序,不管是设计期打开表还是运行期打开表都不行。要运行BDE程序,必须将Delphi2010关掉,或者Delphi2010启动后从未使用过BDE。

  结论:不要在Delphi2010使用BDE了!如果有老的BDE程序,还是选用Delphi5/6/7之类的老版本去打开吧。

  评论这张
 
阅读(1004)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018