anchor.diff:  begin
     s := SelectFileDialog(sfdSave);
     if s <> '' then
  -  begin
  -    TfpgMemo(pcEditor.ActivePage.Components[0]).Lines.SaveToFile(s);
  -  end;
  +    TfpgTextEdit(pcEditor.ActivePage.Components[0]).SaveToFile(s);
   end;
   
   procedure TMainForm.miAboutFPGuiClicked(Sender: TObject);
  
positive.code:   if found then
    begin
      // reuse existing tab
      TfpgMemo(pcEditor.Pages[i].Components[0]).Lines.BeginUpdate;
      TfpgMemo(pcEditor.Pages[i].Components[0]).Lines.LoadFromFile(s);
      TfpgMemo(pcEditor.Pages[i].Components[0]).Lines.EndUpdate;
      pcEditor.ActivePageIndex := i;
      ts := pcEditor.ActivePage;
    end
  
negative.code:   begin
      // we need a new tabsheet
      ts := pcEditor.AppendTabSheet(f);
      m := TfpgTextEdit.Create(ts);
      m.SetPosition(1, 1, 200, 20);
      m.Align := alClient;
      m.FontDesc := gINI.ReadString(cEditor, 'Font', '#Edit2');
      m.GutterVisible := True;
      m.GutterShowLineNumbers := True;
      m.RightEdge := True;
      TfpgTextEdit(ts.Components[0]).Lines.BeginUpdate;
      TfpgTextEdit(ts.Components[0]).Lines.LoadFromFile(s);
      TfpgTextEdit(ts.Components[0]).Lines.EndUpdate;
      if gINI.ReadBool(cEditor, 'SyntaxHighlighting', True) then
      begin
        ext := fpgExtractFileExt(AFilename);
        if (ext = '.pas') or (ext = '.pp') or (ext = '.inc') then
          TfpgTextEdit(ts.Components[0]).OnDrawLine := @TextEditDrawLine;
      end;
      ts.Realign;
      pcEditor.ActivePage := ts;
    end;
  