Looping over filtered DAMemDataTable - behaviour change?

Has the behaviour of filtering changed for DAMemDataTable?
We have migrated to XE10.4 and RO 10.0.0.1481 and some code of ours appears to be broken.

For some DA table we have an active filter

mdRecipe.Filter := 'processed=0';

which is used during a loop

  mdRecipe.First;
  while not mdRecipe.Eof do
  begin
    if idx mod 2=0 then
    begin
      mdRecipe.Edit();
      mdRecipe.FieldByName('processed').AsBoolean := True;
      mdRecipe.Post();
      mdRecipe.First;
    end
    else
      mdRecipe.Next;
    inc(idx);
  end; //while

However the filter does not seem to reduce the recordcount and the loop hangs.
Is this a bug in DA? What is the correct way of doing this?
testremobjectsda.zip (11.9 KB)

Hi,

as for me, it works as expected with std DBGrid and XE 10.4.1: 23302.zip (26.1 KB)

can you retest, pls?

for me it always fails, i can give you an exe
what shoud i test? have you changed code?

Hi,

not yet.
I just replaced CXGrid with DBGrid because I haven’t DevEx installed

Without devex it also fails for me. Which RO version do you test? Should I upgrade?

FYI: I have upgraded to 10.0.0.1489 and the issue is gone

It looks like this was a (major) bug in RO 10.0.0.1481