Exception handling between server and client

Hi,
I am running into a ‘Invalid pointer operation’ in the client when a exception is created and raised on the server.
image
I am running Remobjects V 10.0.0.1521 with Embarcadero® Delphi 11.0 Version 28.0.42600.6491
I have attached a small project where I could recreate it.
Test.zip (4.6 MB)

Can you please check on this?

Thank you

Hi,

Seems Indy did breaking change w/o updating version of Indy :frowning:

earlier, the exception message was in UTF-8 encoding if utf-8 charset was used, after this change it has ANSI encoding …

temporary workaround: update Indy channels (like uROIndyHTTPChannel.pas, etc) like

  • old
          {$IFDEF INDY_10_5_5_UP}
          if IndyClient.Response.CharSet = 'utf-8' then
            lErrorResponse := StringToUTF8Bytes(E.ErrorMessage)
          else
  • new:
          {$IFDEF INDY_10_5_5_UP}
          if IndyClient.Response.CharSet = 'utf-8' then
            lErrorResponse := StringToAnsiBytes(E.ErrorMessage)  // changed
          else

Note: this is affected to Delphi 11 only and doesn’t Delphi 10.4.2.
Both these Delphi versions contain Indy 10.6.2.0

Logged as bugs://D19180.

Logged as #388 issue for Indy Team.

bugs://D19180 was closed as fixed.