anchor.diff:  
   procedure TfpgBaseEdit.DefaultPopupClearAll(Sender: TObject);
   begin
  +  if ReadOnly then
  +    Exit; //==>
     Clear;
   end;
   
  
positive.code:       itm := TfpgMenuItem(FDefaultPopupMenu.Components[i]);
        // enabled/disable menu items
        if itm.Name = ipmCut then
          itm.Enabled := FSelOffset <> 0
        else if itm.Name = ipmCopy then
          itm.Enabled := FSelOffset <> 0
        else if itm.Name = ipmPaste then
          itm.Enabled := fpgClipboard.Text <> ''
        else if itm.Name = ipmClearAll then
          itm.Enabled := Text <> '';
      end;
    end;
  end;
  
negative.code:     FDefaultPopupMenu := TfpgPopupMenu.Create(nil);
      itm := FDefaultPopupMenu.AddMenuItem(rsCut, '', @DefaultPopupCut);
      itm.Name := ipmCut;
      itm := FDefaultPopupMenu.AddMenuItem(rsCopy, '', @DefaultPopupCopy);
      itm.Name := ipmCopy;
      itm := FDefaultPopupMenu.AddMenuItem(rsPaste, '', @DefaultPopupPaste);
      itm.Name := ipmPaste;
      itm := FDefaultPopupMenu.AddMenuItem(rsDelete, '', @DefaultPopupClearAll);
      itm.Name := ipmClearAll;
    end;
  
    SetDefaultPopupMenuItemsState;
  