anchor.diff:  {$else}
     Consts,
   {$endif}
  -  SysUtils, Forms;
  +  SysUtils, Forms, Contnrs;
   
   type
  +  // BG, 29.01.2012: allow multiple prints of several THtmlViewer components at a time.
  +  TMapItem = class(TObject)
  +  private
  +    FKey: Integer;
  +    FValue: Pointer;
  +  public
  +    constructor Create(Key: Integer; Value: Pointer);
  +  end;
  +
     // BG, 29.01.2012: allow multiple prints of several THtmlViewer components at a time.
     TMap = class(TObject)
     private
  -    FKeys: TList;
  -    FValues: TList;
  +    FItems: TObjectList;
  +    function getItem(Index: Integer): TMapItem;
  +    property Items[Index: Integer]: TMapItem read getItem;
     public
       constructor Create;
       destructor Destroy; override;
  -    function Get(Key: Pointer): Pointer;
  -    function Put(Key, Value: Pointer): Pointer;
  -    function Remove(Key: Pointer): Pointer;
  +    function Get(Key: Integer): Pointer;
  +    function Put(Key: Integer; Value: Pointer): Pointer;
  +    function Remove(Key: Integer): Pointer;
     end;
   
   var
  
positive.code: begin
    CheckPrinting(True);
    EndPage(DC);
    FPrinters.Remove(Ptr(DC));
    if not Aborted then
      Windows.EndDoc(DC);
    SetPrinting(False);
  
negative.code:     lpszDocName := CTitle;
      lpszOutput := nil;
    end;
    FPrinters.Put(DC, Self);
    SetAbortProc(DC, AbortProc);
    StartDoc(DC, DocInfo);
    SetPrinting(True);
  