Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 2 of 2 total
Thread Bug in TDBISAMTable.Locate w/ TLargeIntField & null variant
Thu, Feb 9 2006 5:09 PMPermanent Link

Sean McCall
Tim,

TDBISAMTable.Locate has a problem when passed a null variant
for a large integer field. I've included the problem code
with a possible patch. 4.22 Build 5.

Sean

<SNIP>
                  TempField:=TField(Fields[I]);
                  if TempField.IsBlob then

DatabaseErrorFmt(SNoBlobLocate,[TempField.FieldName],Self)

<PATCH START>
                  else if VarIsNull(KeyValues[I]) then
begin
          TempField.Clear;
                    end {if null value}
<PATCH END>


        else
                     begin
                     if (TempField is TLargeIntField) then

TLargeIntField(TempField).AsLargeInt:=KeyValues[I]
                     else
                        TempField.Value:=KeyValues[I];
                     end;
                  end;
<SNIP>
Fri, Feb 10 2006 2:53 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Sean,

<< TDBISAMTable.Locate has a problem when passed a null variant for a large
integer field. I've included the problem code with a possible patch. 4.22
Build 5. >>

Thanks.   You are correct and a fix will be in the next build.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image