I migrated the SOAP ISAPI DLL from Delphi 10 Seattle to Delphi 10.1 Berlin Update 2.
After migration, the Abstract Exception runtime is created.
I noticed that the class "TWebRequest" in "Web.HTTPApp.pas" requires
// 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;
But "TISAPIRequest" in "Web.Win.IsapiHTTP" does not implement the first function.
So, in "Web.Win.IsapiHTTP", I copied 3 ReadClient parameters from 2 param functions:
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;
The error "Abstract error" is excluded, but the "Error reading stream" was raised.
Did you find a similar problem?
Is there a workaround?
source share