Delphi ZeosLib [不兼容的类型:'TZConnection'和'TZAbstractConnection']

j1dl9f46  于 2023-08-04  发布在  其他
关注(0)|答案(2)|浏览(140)

我有一个系统在 Delphi 7与zeos 6中,我使用以下函数:

function zIncCodeByYear (zQry : TZquery; ....): String;
var
  zConLocal, zConOriginal : TZConnection;
  ... 
begin
  bActive := zQry.Active;
  zConOriginal :=  zQry.Connection;

字符串
这总是工作得很好,现在我需要将此系统转换为 Delphi Seatle,并因此,到Zeos Backbone.js (7.2),安装此版本后,在时间编译,我得到的错误:
[dcc32错误]返回上一页(265):E2010不兼容的类型:“TZConnection”和“TZAbstractConnection”(TZ连接和TZ抽象连接)
会发生什么事呢?在这个版本中如何从zquery获取连接?

siv3szwd

siv3szwd1#

您可以简单地使用ZAbstractConnection,转换为TZConnection对您来说没有什么区别。无论你做什么,在这个特定的情况下都没有错。
在TZConnection的帮助下,一些属性,如数据库,协议,...正在出版。在基类TZAbstractConnection中,这些都是公共的。

hgb9j2n6

hgb9j2n62#

你并没有提供太多的代码。但据推测,Zeos将TZQuery.Connection的类型改为TZAbstractConnection。因此,您只需按如下方式更改局部变量声明:

var
  zConLocal, zConOriginal : TZAbstractConnection;

字符串
同时也要记住这个原则:Program to an interface, not an implementation(不幸的是,这个问题的公认答案非常有趣,但错误。至少我链接的答案是正确的)。

相关问题