Tôi đã di chuyển một ISAPI DLL SOAP từ Delphi 10 Seattle sang Delphi 10.1 Cập nhật Berlin 2.Delphi 10.1 Berlin: SOAP Tóm tắt lỗi
Sau khi di chuyển một thời gian chạy "Tóm tắt ngoại lệ" được nêu ra.
Tôi nhận thấy rằng lớp "TWebRequest" trong "Web.HTTPApp.pas" đòi hỏi
// 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;
Nhưng "TISAPIRequest" trong "Web.Win.IsapiHTTP" không thực hiện chức năng đầu tiên.
Vì vậy, trong "Web.Win.IsapiHTTP", tôi đã sao chép 3 params ReadClient từ chức năng 2 param:
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;
"Tóm tắt Lỗi" ngoại lệ biến mất nhưng "Suối đọc lỗi" được nâng lên.
Bạn đã tìm thấy sự cố tương tự chưa?
Có cách giải quyết nào không?
Tôi nghĩ đây là giải pháp thay thế: https://quality.embarcadero.com/browse/RSP-14919 – Alexandre
Cách giải quyết của bạn dường như hoạt động. Nếu bạn muốn nó có thể được đề xuất như là giải pháp cho câu hỏi này. Cảm ơn. –