anchor.diff:  
   function TMainForm.OpenFile(const AFileNames: string): boolean;
   var
  +  HelpFiles: TList;
  +  HelpFile: THelpFile;
     lFilename: string;
     FullFilePath: string;
  -  HelpFile: THelpFile;
     FileIndex: integer;
  +  lFileSize: longint;
  +  RemainingFileNames: string;
   begin
     ProfileEvent('OpenFile >>>');
  -  lFilename := AFilenames;
  -  ProfileEvent( 'File: ' + lFileName );
  -  FullFilePath := ExpandFileName(lFilename);
  -  ProfileEvent( '  Full path: ' + FullFilePath );
  -  ProfileEvent( '  Loading: ' + lFilename );
  -
  +  lbHistory.Items.Clear;
  +
  +  HelpFiles := TList.Create;
  +  ProfileEvent( 'Translate environment vars' );
  +  RemainingFileNames := TranslateEnvironmentVar(AFilenames);
  +
  +  LoadingFilenameList := TStringList.Create;
  +  LoadingTotalSize := 0;
  +
  +  while RemainingFileNames <> '' do
  +  begin
  +    lFileName := ExtractNextValue(RemainingFileNames, '+');
  +    ProfileEvent( '  File: ' + lFileName );
  +    FullFilePath := FindHelpFile(lFilename);
  +    if FullFilePath <> '' then
  +    begin
  +      lFileName := FullFilePath;
  +      lFileSize := GetFileSize(lFilename);
  +      inc(LoadingTotalSize, lFileSize);
  +    end;
  +    ProfileEvent( '  Full path: ' + FullFilePath );
  +    LoadingFilenameList.Values[lFileName] := IntToStr(lFileSize);
  +  end;
  +
  +  LoadingSizeSoFar := 0;
  +  for FileIndex := 0 to LoadingFilenameList.Count - 1 do
  +  begin
  +    lFilename := LoadingFilenameList.Names[FileIndex];
  +    ProfileEvent( '  Loading: ' + lFilename );
  +    try
  +      LoadingFileIndex := FileIndex;
  +      HelpFile := THelpFile.Create(lFileName, @OnHelpFileLoadProgress);
  +      inc(LoadingSizeSoFar, StrToInt(LoadingFilenameList.Values[lFileName]));
  +      HelpFiles.Add(HelpFile);
  +    except
  +      on E: Exception do
  +      begin
  +        if E is EHelpFileException then
  +          ShowMessage( 'Could not open ' + lFileName + ': ' + E.Message )
  +        else
  +          ShowMessage( 'An error occurred loading ' + lFileName
  +                       + '. It may be an damaged help file '
  +                       + 'or there may be a bug in this program.' + #10 + #10 + E.Message );
  +        Result := False;
  +        // cleanup memory used
  +        while HelpFiles.Count > 0 do
  +        begin
  +          HelpFile := THelpFile(HelpFiles[0]);
  +          HelpFile.Free;
  +          HelpFiles.Delete(0);
  +        end;
  +        LoadingFilenameList.Free;
  +        HelpFiles.Free;
  +        ResetProgress;
  +        Exit;  //==>
  +      end { exception }
  +    end; { try/except }
  +  end;  { for FileIndex... }
  +
  +  // Now that we have successfully loaded the new help file(s)
  +  // close the existing one.
     CloseFile;
   
  -  HelpFile := THelpFile.Create(lFileName, @OnHelpFileLoadProgress);
  -  Files.Add(HelpFile);
  +  Files.Assign(HelpFiles);
  +//  AssignList(HelpFiles, Files);
  +  ProgressBar.Position:= 50;
  +  SetStatus( 'Displaying... ' );
  +  fpgApplication.ProcessMessages;
  +
  +  LoadingFilenameList.Free;
  +  HelpFiles.Free;
  +  Result := True;
   
     WindowTitle := cTitle + ' - ' + THelpFile( Files[ 0 ] ).Title;
     fpgApplication.ProcessMessages;
   
  +  { TODO -oGraeme : Do MRU files list handling here }
  +
  +  ProgressBar.Position := 51;
  +  SetStatus( 'Loading notes... ' );
  +
     { TODO -oGraeme : Load previous notes here }
     for FileIndex:= 0 to Files.Count - 1 do
     begin
  
positive.code: begin
    bvlBody.Realign;
  
  end;
  
  procedure TMainForm.miFileQuitClicked(Sender: TObject);
  
negative.code:     Text := 'Search results:';
    end;
  
    ProgressBar := TfpgProgressBar.Create(bvlStatusBar);
    with ProgressBar do
    begin
      Name := 'ProgressBar';
      SetPosition(501, 2, 150, 16);
      Anchors := [anRight,anBottom];
    end;
  
    lblStatus := TfpgLabel.Create(bvlStatusBar);
    with lblStatus do
    begin
      Name := 'lblStatus';
      SetPosition(4, 2, 380, 16);
      Anchors := [anLeft,anRight,anBottom];
      FontDesc := '#Label1';
      Hint := '';
      Text := '';
    end;
  
    {@VFD_BODY_END: MainForm}
    {%endregion}
  
  