anchor.diff:  procedure TMainForm.miProjectOpen(Sender: TObject);
   var
     s: TfpgString;
  -  n: TfpgTreeNode;
  +  i: integer;
  +  ts: TfpgTabSheet;
   begin
     s := SelectFileDialog(sfdOpen, Format(cFileFilterTemplate, ['Project Files', cProjectFiles, cProjectFiles]));
     if s <> '' then
     begin
  +    // remove all project info
       CloseAllTabs;
  +    SetupProjectTree;
       FreeProject;
  -    n := tvProject.RootNode.FindSubNode('Units', True);
  -    if n <> nil then
  -      n.Clear;
  +    // now load new project info
       GProject.Load(s);
  -    OpenEditorPage(GProject.ProjectDir + GProject.MainUnit);
  +    for i := 0 to GProject.UnitList.Count-1 do
  +    begin
  +      if GProject.UnitList[i].Opened then
  +      begin
  +        ts := OpenEditorPage(GProject.UnitList[i].FileName);
  +        ts.TagPointer := GProject.UnitList[i];
  +      end;
  +    end;
  +    PopuplateProjectTree;
  +    UpdateWindowTitle;
       AddMessage('Project loaded');
     end;
   end;
  
positive.code:     TabOrder := 5;
      TabPosition := tpRight;
      Options := [to_PMenuClose];
      OnClosingTabSheet :=@TabSheetClosing;
    end;
  
    tsEditor1 := TfpgTabSheet.Create(pcEditor);
  
negative.code:     pcEditor.ActivePage := ts;
    end;
    ts.Hint := s;
    Result := ts;
    UpdateStatus(s);
  end;
  
  procedure TMainForm.miTest(Sender: TObject);
  