anchor.diff:        end;
       end;
   
  +    uDragSource := TfpgDrag(self).Source as TfpgWidget;
       { Now let OLE take over from here }
       FDropSource := TfpgOLEDropSource.Create;
       dwResult := ActiveX.DoDragDrop( FDataObject as IDataObject,
  
positive.code: 
        lDropAction := TranslateToFPGDropAction(Effect);
        if Assigned(wg.OnDragEnter) then
          wg.OnDragEnter(self, nil, lMimeList, lMimeChoice, lDropAction, lAccept);
      finally
        lMimeList.Free;
      end;
  
negative.code:     KeyState: Longint; PT: TPoint; var Effect: DWORD);
  var
    wg: TfpgWidget;
    swg: TfpgWidget;
    lMimeList: TStringList;
    lMimeChoice: TfpgString;
    lAccept: Boolean;
  