我在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获取连接?
答案 0 :(得分:0)
您还没有提供太多代码。但据推测,Zeos将TZQuery.Connection
的类型更改为TZAbstractConnection
。因此,您应该按如下方式更改本地变量声明就足够了:
var
zConLocal, zConOriginal : TZAbstractConnection;
并且还要记住原则:this post(不幸的是,在这个问题上接受的答案非常有趣,但错了。至少我联系的答案是正确的。)
答案 1 :(得分:0)
您可以简单地使用ZAbstractConnection,并且对TZConnection进行投射对您没有任何影响。无论你做什么都没有错,在这种特殊情况下。
在TZConnection的帮助下,正在发布一些属性,如数据库,协议等。在基类TZAbstractConnection中,这些都是公开的。