Icon View Incident Report

Serious Serious
Reported By: Manuel Alonso Conde Cantero
Reported On: 12/30/2019
For: Version 2.31 Build 10
# 4770 Calling the TEDBTable FindKey Method with Incomplete Values Combined with OnFilterRecord Causes AV

I have an application that uses elevatedb and I am having an access violation in this line :

TempBoolean2:=ValueToCompare.Null;

Of this class function :

function TEDBValue.Compare(ValueToCompare: TEDBValue;
PartialLength: Integer;
CaseInsensitive: Boolean;
CompareCollation: Integer): Integer;

The problem is that ValueToCompare is nil and the program raises an access violation.


Comments Comments
The issue was fairly complicated, but involved a scenario where only a subset of the available indexed columns for the active index are provided to the TEDBTable FindKey method while an OnFilterRecord event handler is also defined and active for the TEDBTable instance. Furthermore, the OnFilterRecord event handler must filter the rows in a way where the value being searched for is both filtered out based upon an ancillary condition and *also* available as a value in the filtered set.


Resolution Resolution
Fixed Problem on 12/31/2019 in version 2.31 build 11


Products Affected Products Affected
ElevateDB LCL Standard with Source
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image