【发布时间】: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;
“抽象错误”异常消失,但引发“流读取错误”。
你有没有发现类似的问题?
有什么解决办法吗?
【问题讨论】:
-
我认为这是解决方法:quality.embarcadero.com/browse/RSP-14919
-
您的解决方法似乎有效。如果您愿意,可以将其作为此问题的解决方案。谢谢。
标签: delphi soap delphi-10.1-berlin