2017-02-07 2 views
5

Ich habe eine ISAPI DLL SOAP von Delphi 10 Seattle nach Delphi 10.1 Berlin Update 2.Delphi 10.1 Berlin: SOAP Zusammenfassung Fehler

eine Laufzeit "Abstrakte Exception" Nach der Migration migriert angehoben wird.

Ich stelle fest, dass die Klasse "TWebRequest" in "Web.HTTPApp.pas"

// 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; 

Aber die "TISAPIRequest" in "Web.Win.IsapiHTTP" erfordert die erste Funktion nicht implementiert.

So in "Web.Win.IsapiHTTP", ich habe 3 params Readclient von 2 param Funktion kopiert:

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; 

"Abstrakte Fehler" Ausnahme verschwinden aber "Stream-Lesefehler" ausgelöst wird.

Haben Sie ein ähnliches Problem gefunden?

Gibt es eine Problemumgehung?

+2

Ich denke, das Problem umgehen: https://quality.embarcadero.com/browse/RSP-14919 – Alexandre

+1

Ihre Abhilfe zu funktionieren scheint. Wenn Sie möchten, kann es als Lösung für diese Frage vorgeschlagen werden. Vielen Dank. –

Antwort

1

Es ist eine andere Delphi-Bug.

Lösung kann bei this address

einfach ersetzen 3 abgehört Funktionen mit den Richtigen zu finden.

+0

Ich bin froh, dass es funktioniert hat! Ich habe beschlossen, es nicht als Antwort zu veröffentlichen, weil die Moderatoren hier nur darauf warten, diese Art von Antworten zu bewerten. Sie haben normalerweise nichts anderes zu tun. LOL – Alexandre

Verwandte Themen