anchor.diff:    end;
   
     LoadContents;
  +  tvContents.Selection := tvContents.RootNode.FirstSubNode;
  +end;
  +
  +procedure TMainForm.CloseFile;
  +var
  +  FileIndex: longint;
  +  lHelpFile: THelpFile;
  +begin
  +  WindowTitle := cTitle + ' - No file';
  +  tvContents.Selection := nil;
  +  tvContents.RootNode.Clear;
  +  Memo1.Lines.Clear;
  +
  +  // First save notes. It's important we do this first
  +  // since we scan all notes each time to find the ones
  +  // belonging to this file.
  +  for FileIndex := 0 to Files.Count - 1 do
  +  begin
  +    lHelpFile := THelpFile(Files[FileIndex]);
  +    SaveNotes( lHelpFile );
  +  end;
  +
  +  // Now destroy help files
  +  for FileIndex := 0 to Files.Count - 1 do
  +  begin
  +    lHelpFile := THelpFile(Files[FileIndex]);
  +    lHelpFile.Free;
  +  end;
  +
  +  Files.Clear;
  +  ClearNotes;
   end;
   
   procedure TMainForm.OnHelpFileLoadProgress(n, outof: integer; AMessage: string);
  
positive.code:     Name := 'miFile';
      SetPosition(244, 28, 132, 20);
      AddMenuItem('Open...', '', @miFileOpenClicked);
      AddMenuitem('-', '', nil);
      AddMenuItem('Quit', '', @miFileQuitClicked);
    end;
  
negative.code:   FileOpen;
  end;
  
  procedure TMainForm.miFileCloseClicked(Sender: TObject);
  begin
    CloseFile;
  end;
  
  procedure TMainForm.miHelpProdInfoClicked(Sender: TObject);
  begin
    TfpgMessageDialog.Information('Product Information', 'Created by Graeme Geldenhuys');
  