anchor.diff:  //Sort the items by TextID
   procedure TForm1.btnSortByIndexClick(Sender: TObject);
   begin
  -  fTextManager.SortByIndex;
  -  RefreshList;
  -  mnuSave.Enabled := True;
  +  try
  +    fTextManager.SortByIndex;
  +    RefreshList;
  +    mnuSave.Enabled := True;
  +  except
  +    on E: Exception do
  +    begin
  +      gLog.AddTime('Error on btnSortByIndexClick: ' + E.Message + sLineBreak + GetStackTrace(10));
  +    end;
  +  end;
   end;
   
   
   //Sort TextIDs by Index
   procedure TForm1.btnSortByNameClick(Sender: TObject);
   begin
  -  fTextManager.SortByName;
  -  //Compact Indexes
  -  RefreshList;
  -  mnuSave.Enabled := True;
  +  try
  +    fTextManager.SortByName;
  +    //Compact Indexes
  +    RefreshList;
  +    mnuSave.Enabled := True;
  +  except
  +    on E: Exception do
  +    begin
  +      gLog.AddTime('Error on btnSortByNameClick: ' + E.Message + sLineBreak + GetStackTrace(10));
  +    end;
  +  end;
   end;
   
   
   procedure TForm1.btnCompactIndexesClick(Sender: TObject);
   begin
  -  fTextManager.CompactIndexes;
  -  RefreshList;
  -  mnuSave.Enabled := True;
  +  try
  +    fTextManager.CompactIndexes;
  +    RefreshList;
  +    mnuSave.Enabled := True;
  +  except
  +    on E: Exception do
  +      gLog.AddTime('Error on btnCompactIndexesClick ' + E.Message + sLineBreak + GetStackTrace(10));
  +
  +  end;
   end;
   
   
   procedure TForm1.FilterChanged(Sender: TObject);
   begin
  -  RefreshFilter;
  -  RefreshList;
  +  try
  +    RefreshFilter;
  +    RefreshList;
  +  except
  +    on E: Exception do
  +    begin
  +      gLog.AddTime('Error on FilterChanged: ' + E.Message + sLineBreak + GetStackTrace(10));
  +    end;
  +  end;
   end;
   
   
  
positive.code: implementation
  uses
    TranslationManagerUtils,
    KM_CommonTypes, KM_CommonUtils;
  
  {$R *.dfm}
  
  
negative.code:   I,K: Integer;
    SelCount, SecHeight: Word;
  begin
    try
      SelCount := 0;
      for I := 0 to gResLocales.Count - 1 do
      if (I+1 < clbShowLang.Count) then
      if clbShowLang.Checked[I+1] then
        Inc(SelCount);
  
      if SelCount = 0 then
        Exit;
  
      SecHeight := ScrollBox1.ClientHeight div SelCount;
  
      K := 0;
      for I := 0 to gResLocales.Count - 1 do
      if clbShowLang.Checked[I+1] then
      begin
        TransLabels[I].SetBounds(8, 4 + K * SecHeight, 100, 20);
        TransMemos[I].SetBounds(8, 22 + K * SecHeight, ScrollBox1.Width - 20, SecHeight - 20);
        Inc(K);
      end;
    except
      on E: Exception do
      begin
        gLog.AddTime('Error on FormResize: ' + E.Message + sLineBreak + GetStackTrace(10));
      end;
    end;
  end;
  
  