RxFPC:fix filter without grid in TRxMemoryData

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8927 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2023-09-25 09:27:37 +00:00
parent a46d1d3f3c
commit a8a5cfe8eb

View File

@ -1050,22 +1050,28 @@ var
RecBuf: PChar;
begin
Result := True;
if Assigned(OnFilterRecord) then
if Assigned(OnFilterRecord) or (Filter<>'') then
begin
if (FRecordPos >= 0) and (FRecordPos < RecordCount) then
begin
SaveState := SetTempState(dsFilter);
if Assigned(OnFilterRecord) then
begin
try
RecordToBuffer(Records[FRecordPos], TempBuffer);
OnFilterRecord(Self, Result);
except
CustomApplication.HandleException(Self);
end;
end;
if Result and (Length(Filter) > 0) then
begin
if GetActiveRecBuf(RecBuf) then
Result := Boolean((FParser.ExtractFromBuffer(RecBuf))^);
{ if GetActiveRecBuf(RecBuf) then
Result := Boolean((FParser.ExtractFromBuffer(RecBuf))^);}
RecordToBuffer(Records[FRecordPos], TempBuffer);
Result := Boolean((FParser.ExtractFromBuffer(TempBuffer))^);
end;
RestoreState(SaveState);