Both MSComm32 and our SComm64 component use the .InputMode property to indicate whether data is to be received as an array of bytes or as a string.
In VB6 the return value of the .Input method was a variant that could then be interpreted as either a byte array or a string.
But Microsoft's MSComm32, when used in .Net, returns an object. In Visual Basic this functions the same as a Variant. But in C# it needs to be cast to (string) or a (byte)
SComm1.InputMode = SCommLib .InputModeConstants .comInputModeBinary;
string s = (string)SComm1.Input;
// (string) is the cast from object to string.
Our SComm64 component has the same syntax as MSComm32 so, in VB or C# no code changes are necessary. (Note that in C# you need to use the InputModeConstants (same as C# with MSComm32))