It's about time the problem with recordsize gets fixed.
It's strange that TDataset still declares property RecordSize as Word but TDataset does not use the property its own code anyways.
In TOracleDataset the field FRecordSize is declared as integer and in TOracleDatasets code the field is used instead of the property everywhere except in ClearCalcFields.
procedure TOracleDataSet.ClearCalcFields(Buffer: TRecordBuffer);
begin
FillChar(PRecordData(Buffer)^.Bytes[RecordSize], CalcFieldsSize, 1);
end;
This code results in overwrites of the buffer if RecordSize exceeds the size of Word. This is obviously an oversight by allroundaotomations and should be fixed asap without. I have of course fixed it myself, but i really wish I could use your code without my own bugfixes.
In our case this has nothing to do with support for 32k varchar2 fields, but we have some table with many big varchar2 fields.