TOraParamDesc.FLen reset in 0
Code: Select all
procedure TOraParamDesc.SetItemNull(Index: integer; Value: boolean);
var
VPtr: IntPtr;
begin
AllocBuffer;
if Value then begin
SetIndicator(Index, -1);
FLen := 0; // 1 this is a bug
first string '1234567890' => TOraParamDesc.FLen = 10
second string is null => TOraParamDesc.FLen = 0
in TOCICommand.BindParam
BufferSize := Param.FLen + 1; FLen = 2000
2. after that insert 2 short string [call Execute(2)], max string len 20, but FLen before call is 2000, and not reset