我已经将一个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;
"抽象错误"异常消失,但引发了"流读取错误"。
您是否遇到类似的问题?
是否有任何解决方法?