function TOracleDataSet.ApplyFilterTo(Data: PRecordData): Boolean;
var OldFFilterBuffer: Pointer;
SaveState: TDataSetState;
begin
OldFFilterBuffer := FFilterBuffer;
SaveState := SetTempState(dsFilter);
try
Result := True;
FFilterBuffer := Data;
if <Check Lookup in filter expression> then // new source line
GetCalcFields(PChar(FFilterBuffer)); // new source line
if Assigned(OnFilterRecord) then OnFilterRecord(Self, Result);
if Result then Result := ApplyFilter;
finally
RestoreState(SaveState);
FFilterBuffer := OldFFilterBuffer;
end;
end;