我遇到了运行程序的问题。我的代码太旧了,我不确定它如何工作。

Cannot resolve unit name 'DBTables' at line 20
Underclared indetifier 'EDBEnginerError'
Underclared identifier 'Error'


我认为它缺少BDE,但是如何将其导入到我的项目中?

我已经尝试过的事情:
-将BDE迁移到FireDac失败。这些类未替换。

最佳答案

BDE已过时。默认情况下,最新版本的Delphi不安装BDE支持文件。看到:

BDE Installer for RAD Studio, Delphi, C++Builder 10.2 Tokyo

BDE components in RAD Studio/Delphi/C++ Builder

安装BDE时,应允许编译器找到DBTables.Pas。那应该修复未声明的标识符错误。

那应该使您步入正轨,但是如果您需要进行任何开发工作,则应该真正考虑更换BDE。

最初,Delphi对数据库的支持是在1995年,是基于BDE的,这是Borland尝试做的类似于MS的ODBC。结果,许多后来的数据库库(例如FireDAC)都包含TxQuery和TxTable组件,它们的工作方式与TTable和TQuery相似,因此将基于BDE的简单应用程序升级到更现代的DB访问库不必太麻烦,除非BDE应用程序广泛使用了对BDE查询引擎的直接调用-这些调用通常以dbi为前缀。如果您的代码中有很多代码,则您将需要interesting的时间进行升级。

07-27 20:04