anchor.diff:  type
     { TDummyClass }
     TDummyClass = class
  +  private
  +    FormShown: boolean;
     public
       Form: TForm;
  -    OnChangeActive: boolean;
       procedure DoOnShow(Sender: TObject);
       procedure DoOnKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
       procedure DoOnChange(Sender: TObject);
  
positive.code: 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
  
negative.code:   C: TControl;
    i: integer;
  begin
    FormShown:= true;
    for i:= 0 to Form.ControlCount-1 do
    begin
      C:= Form.Controls[i];
  