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

时间:2017-07-20 15:58:44

标签: delphi zeos

我在Delphi 7中有一个带有zeos 6的系统,我使用以下功能:

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

这总是工作正常,现在我需要将这个系统转换为Delphi Seatle,然后转换为Zeos trunk(7.2),安装此版本后,在编译时,我收到错误:

[dcc32错误] zeosfuncs.pas(265):E2010不兼容的类型:' TZConnection'和' TZAbstractConnection'

会发生什么?如何在这个版本中从zquery获取连接?

2 个答案:

答案 0 :(得分:0)

您还没有提供太多代码。但据推测,Zeos将TZQuery.Connection的类型更改为TZAbstractConnection。因此,您应该按如下方式更改本地变量声明就足够了:

var
  zConLocal, zConOriginal : TZAbstractConnection;

并且还要记住原则:this post(不幸的是,在这个问题上接受的答案非常有趣,但错了。至少我联系的答案是正确的。)

答案 1 :(得分:0)

您可以简单地使用ZAbstractConnection,并且对TZConnection进行投射对您没有任何影响。无论你做什么都没有错,在这种特殊情况下。

在TZConnection的帮助下,正在发布一些属性,如数据库,协议等。在基类TZAbstractConnection中,这些都是公开的。