Delphi 10.1 Berlin: SOAP Abstract Error

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?

+5
source share
1 answer

This is another Delphi error.

The solution can be found at this address.

Just replace the 3 listening functions with the correct ones.

+1
source

Source: https://habr.com/ru/post/1263931/


All Articles