Inconsistent type when streaming varBool between Delphi and .NET


(arturomonge) #1


I’m starting the process of migrating a Delphi RO/DA server to .NET, so I’m creating a .NET server that is using the same out-of-process session storage as the Delphi server (Olympia in my dev environment), so that I can log in through the Delphi server and then call any service in the .NET or Delphi servers indistinctively.

I came across a problem sharing the session between the two servers: varBoolean is saved and read as Byte in the session stream in Delphi, but read and saved as Integer in .NET.

This is related to Issue #48011 and this topic: Invalid Stream Length

Apparently, Delphi writes the varBoolean variant as Integer in uROStreamSerializer.pas but as Byte in uROBinaryHelpers.pas. I think this should be changed in uROBinaryHelpers.pas to Integer, to have a consistent stream type for varBoolean everywhere.

Using Ro/DA v9.0.97.1245.


(RemObjects) #2

Thanks, logged as bugs://81537

(RemObjects) #3

bugs://81537 got closed with status fixed.