anchor.diff:  
   procedure TATTabs.DragOver(Source: TObject; X, Y: integer; State: TDragState;
     var Accept: Boolean);
  +var
  +  IsX: Boolean;  
   begin
     if Source is TATTabs then
  +  begin
       Accept:=
         FOptMouseDragEnabled and
  -      FOptMouseDragOutEnabled
  +      FOptMouseDragOutEnabled;
  +
  +    // Delphi 7 don't call MouseMove during dragging
  +    {$ifndef fpc}
  +    if Accept then
  +    begin
  +      FTabIndexDrop:= GetTabAt(X, Y, IsX);
  +      Invalidate;
  +    end;
  +    {$endif}
  +  end    
     else
       inherited;
   end;
  
positive.code:     P.Y+FOptSpaceXSize);
  end;
  
  function _IsDrag: boolean;
  begin
    Result:= Mouse.IsDragging;
  end;
  
  procedure TATTabs.GetTabXProps(AIndex: integer; const ARect: TRect;
  
negative.code:   FTabIndexOver:= GetTabAt(X, Y, IsX);
    FTabIndexDrop:= FTabIndexOver;
  
    // LCL dragging with DragMode=automatic is started too early.
    // so use DragMode=manual and DragStart.
    if OptMouseDragEnabled and FMouseDown and not _IsDrag then
    begin
      BeginDrag(false, Mouse.DragThreshold);
      Exit
    end;
  
    if ShowHint and ((FTabIndexOver=cTabIndexPlus) or (FTabIndexOver=cTabIndexPlusBtn)) then
    begin
      Hint:= FHintForPlus;
  