anchor.diff:      function    DoDragAcceptFiles(DataObj: IDataObject): Boolean;
       function    DoDragAcceptPosition(PT: TPoint): Boolean;
       procedure   DoDropFiles(DataObj: IDataObject; PT: TPoint);
  -    procedure   DoDragEnter(DataObj: IDataObject; KeyState: Longint; PT: TPoint; var Effect: TfpgOLEDragDropEffect); override;
  +    procedure   DoDragEnter(DataObj: IDataObject; KeyState: Longint; PT: TPoint; var Effect: DWORD); override;
       procedure   DoDragOver(KeyState: Longint; PT: TPoint; var Effect: TfpgOLEDragDropEffect); override;
       procedure   DoDragDrop(DataObj: IDataObject; KeyState: Longint; PT: TPoint; Effect: TfpgOLEDragDropEffect); override;
     public
  
positive.code:     function    DragOver(grfKeyState: DWORD; pt: TPoint; var dwEffect: DWORD): HResult; stdcall;
      function    DragLeave: HResult; stdcall;
      function    Drop(const dataObj: IDataObject; grfKeyState: DWORD; pt: TPoint; var dwEffect: DWORD): HResult; stdcall;
  
      property    OnDragEnter: TfpgOLEDragEnterEvent read FOnDragEnter write FOnDragEnter;
      property    OnDragOver: TfpgOLEDragOverEvent read FOnDragOver write FOnDragOver;
      property    OnDragLeave: TNotifyEvent read FOnDragLeave write FOnDragLeave;
  
negative.code: end;
  
  procedure TDragFilesTarget.DoDragEnter(DataObj: IDataObject;
    KeyState: LongInt; PT: TPoint; var Effect: DWORD);
  begin
    FDragAcceptFiles := DoDragAcceptFiles(DataObj);
    if FDragAcceptFiles and DoDragAcceptPosition(PT) then
      inherited DoDragEnter(DataObj, KeyState, PT, Effect)
    else
      Effect := DROPEFFECT_NONE;
  end;
  
  procedure TDragFilesTarget.DoDragOver(KeyState: LongInt; PT: TPoint; var Effect: TfpgOLEDragDropEffect);
  begin
    if FDragAcceptFiles and DoDragAcceptPosition(PT) then
      inherited DoDragOver(KeyState, PT, Effect)
    else
      Effect := deNone;
  end;
  
  procedure TDragFilesTarget.DoDragDrop(DataObj: IDataObject;
    KeyState: LongInt; PT: TPoint; Effect: TfpgOLEDragDropEffect);
  begin
    DoDropFiles(DataObj, PT);
    inherited;
  