it is not easy to extrapolate a test case from the app as it is very large and the error occurs on a logic where a series of operations are performed in the background
But I found that:
the error occurs when opening a TDAMemeDataTable which contains a blob field. This field has a size of about 1.5 Mb. If I empty the field, the error no longer occurs (database Oracle 11 and UniDAC)
The error is raised in the uROStreamSerializer unit in the TROStreamSerializer.ReadBinary method when check this:
if l_size > fStream.Size then RaiseError(err_InvalidStringLength, [l_size]);
l_size is greater of fStream.Size.
Another operation after open the datatable is, in asynchronous on a separate thread, the reception of an array of TROComplexTypes which return a series of images
The same application in RO .1553 work without problems.
I don’t know if you get any more information with this. Tomorrow, if you need, I’ll do some more specific tests
What mode of TROHTTPServer are you using - http or https?
if you temporary replace this server with any other (e.g. Indy- or Synapse-based), behavior will be reproduced?
what event you are used for saving stream? I don’t see RO107 signature …