anchor.diff:  var
     i: integer;
   begin
  +  //workarnd for bug on MacOS
  +  if not OnChangeActive then exit;
  +
     //Tag=Dummy_TagActive means that control change closes form
     if (Sender as TControl).Tag=Dummy_TagActive then
       for i:= 0 to Form.ControlCount-1 do
  
positive.code:   C: TControl;
    i: integer;
  begin
    for i:= 0 to Form.ControlCount-1 do
    begin
      C:= Form.Controls[i];
  
negative.code:   TDummyClass = class
    public
      Form: TForm;
      OnChangeActive: boolean;
      procedure DoOnShow(Sender: TObject);
      procedure DoOnKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
      procedure DoOnChange(Sender: TObject);
  