Delphi XE10.1 DataSnap客户端错误 "SetConnectTimeOut"

标签 delphi datasnap

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

DataSnap 客户端模块有 SQLConnection1: TSQLConnection

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

"SetConnectTimeout"

如果Driver.ConnectTimeout中没有任何值,则设置连接正常。

我的错误是什么?

最佳答案

你没有做错任何事。内河码头做到了。

在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 添加到我的项目中(这可能不是正确的方法)。

关于Delphi XE10.1 DataSnap客户端错误 "SetConnectTimeOut",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37323810/

相关文章:

delphi 变量值在循环中的线程中发生变化

Delphi 将我的对象编码为字符串泄漏,但为什么呢?

Delphi XE2 DataSnap - 访问服务器方法模块中的 REST 连接属性

delphi - 为什么左 ctrl 不触发 ssLeft?

delphi - 将 ODBC 数据源与 Delphi 2006+ 连接的正确方法?

multithreading - TMREWSync(TMultiReadExclusiveWriteSynchronizer)问题

delphi - 将带有数组的 delphi 对象转换为 json 时遇到问题

delphi - 加载 midas.dll 时发生 Midas.dll 错误

delphi - DataSnap Rest Server Windows 服务

德尔福XE2 : How to define custom DataSnap REST URI?