我正面临运行程序的问题。我的代码太旧了,我不确定它是如何工作的。
Cannot resolve unit name 'DBTables' at line 20
Underclared indetifier 'EDBEnginerError'
Underclared identifier 'Error'
我认为它缺少BDE,但如何将其导入我的项目?
我已经尝试过的事情: - 将BDE迁移到FireDac但没有成功。这些课程没有被替换。
答案 0 :(得分:5)
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。因此,许多后来的DB库(如FireDAC)包含与TTable和TQuery类似的TxQuery和TxTable组件,因此将简单的基于BDE的应用程序升级到更现代的数据库访问库不需要太痛苦,除非 BDE应用程序广泛使用对BDE查询引擎的直接调用 - 这些调用通常以dbi
为前缀。如果您的代码中有很多代码,那么您需要interesting
次升级。
答案 1 :(得分:0)
即使BDE已被弃用多年,但这并不意味着它不再有效。即使是最新版本的Delphi 10.2附带了Bde.DBTables单元: http://docwiki.embarcadero.com/Libraries/Tokyo/en/Bde.DBTables 但它可能不是试用版的一部分。
此外,您还需要BDE本身,它不再附带Delphi,但仍可从Embarcadero下载。 (实际上我不确定,它甚至可能仍然是Delphi安装程序中的可选部分。)