anchor.diff:      FOnDragLeave: TNotifyEvent;
       FOnDragDrop: TfpgOLEDragDropEvent;
     protected
  -    procedure   DoDragEnter(DataObj: IDataObject; KeyState: Longint; PT: TPoint; var Effect: TfpgOLEDragDropEffect); virtual;
  +    procedure   DoDragEnter(DataObj: IDataObject; KeyState: Longint; PT: TPoint; var Effect: DWORD); virtual;
       procedure   DoDragOver(KeyState: Longint; PT: TPoint; var Effect: TfpgOLEDragDropEffect); virtual;
       procedure   DoDragDrop(DataObj: IDataObject; KeyState: Longint; PT: TPoint; Effect: TfpgOLEDragDropEffect); virtual;
       { IInterface }
  
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;
  end;
  
  procedure TfpgOLEDropTarget.DoDragDrop(DataObj: IDataObject; KeyState: LongInt;
    PT: TPoint; Effect: TfpgOLEDragDropEffect);
  begin
    if Assigned(FOnDragDrop) then begin
  