【问题标题】:Delphi 10.1 Berlin: SOAP Abstract ErrorDelphi 10.1 Berlin:SOAP 抽象错误
【发布时间】:2017-06-25 02:30:28
【问题描述】:

我已将一个 ISAPI DLL SOAP 从 Delphi 10 Seattle 迁移到 Delphi 10.1 Berlin Update 2。

迁移后会引发运行时“抽象异常”。

我注意到“Web.HTTPApp.pas”中的“TWebRequest”类需要

// Read count bytes from client
function ReadClient(var Buffer: TBytes; Offset: Integer; Count: Integer): Integer; overload; virtual; abstract;
function ReadClient(var Buffer; Count: Integer): Integer; overload; virtual; abstract;

但是“Web.Win.IsapiHTTP”中的“TISAPIRequest”没有实现第一个函数。

所以在“Web.Win.IsapiHTTP”中,我从 2 个参数函数中复制了 3 个参数 ReadClient:

function TISAPIRequest.ReadClient(var Buffer: TBytes; Offset: Integer; Count: Integer): Integer;
begin
  Result := Count;
  if not ECB.ReadClient(ECB.ConnID, @Buffer, DWORD(Result)) then
    Result := -1;
end; 

“抽象错误”异常消失,但引发“流读取错误”。

你有没有发现类似的问题?

有什么解决办法吗?

【问题讨论】:

标签: delphi soap delphi-10.1-berlin


【解决方案1】:

这是另一个 Delphi 错误。

可以在this address找到解决方案

只需用正确的函数替换 3 个错误的函数。

【讨论】:

  • 我很高兴它成功了!我决定不将其作为答案发布,因为这里的版主只是在等待对这些答案投反对票。他们通常没有其他事情可做。哈哈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-05
  • 2017-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多