Delphi XE10.1 DataSnap客户端错误“SetConnectTimeOut”

时间:2016-05-19 12:53:23

标签: delphi datasnap

我尝试将我的项目从XE8转移到XE10.1

DataSnap客户端模块具有SQLConnection1:TSQLConnection

当我将属性Driver.ConnectTimeout设置为任何值,然后设置Connected=true时,我收到错误:

  

“SetConnectTimeout”

Driver.ConnectTimeout中没有任何值设置连接就可以了。

我的错误是什么?

1 个答案:

答案 0 :(得分:1)

你没有做错任何事。 Embarcadero做了。

在Delphi 10 Seattle(我没有XE8)中,Data.DbxHTTPLayer.TDSHTTPNativeClient.SetConnectTimeout方法的实现是:

procedure TDSHTTPNativeClient.SetConnectTimeout(AMilisec: Integer);
begin
  FHTTP.ConnectTimeout := AMilisec;
end;

在Delphi 10.1 Berlin中,相同的方法如下所示:

procedure TDSHTTPNativeClient.SetConnectTimeout(AMilisec: Integer);
begin

  raise ENotImplemented.Create('SetConnectTimeout');
end;

我将源(Data.DbxHTTPLayer.pas)编辑为:

procedure TDSHTTPNativeClient.SetConnectTimeout(AMilisec: Integer);
begin
  FHTTPClient.ConnectionTimeout := AMilisec;
  //raise ENotImplemented.Create('SetConnectTimeout');
end;

它解决了这个问题。最初的.dcu和.o最初阻止了实际链接到我的应用程序的更改,所以我将Data.DbxHTTPLayer.pas添加到我的项目中(这可能不是正确的方法)。