Board index » delphi » 16 Bit drag source stucture

16 Bit drag source stucture

I am trying to write a 16 drag source program, using the old
undocumented file manager style drags. The problem I am having is that
when I fill in the global memory block with a structure, then the
target app calls DragQueryPoint(), the point coords are wrong. The Y
coord always equals what the Y should be, and the Y is garbage.
The structure I am passing is:

  WinPoint = record
     x : Integer;
     y : Integer;
  end;
  DropFileRecord = record
     Size : Word;
     MousePos : WinPoint;
     InNonClientArea : Boolean;
  end;

The odd thing is that it gets the file name correct, which implies
that the length of this record is correct.  Any idea what's wrong? Has
anybody seen a Delphi example of this?
  - Pete

 

Re:16 Bit drag source stucture


For anyone interested,  the Boolean should have been a C++ style
WinBool

On Tue, 03 Dec 1996 03:31:21 GMT, peter.iv...@york.com (Peter Ivers)
wrote:

Quote
>I am trying to write a 16 drag source program, using the old
>undocumented file manager style drags. The problem I am having is that
>when I fill in the global memory block with a structure, then the
>target app calls DragQueryPoint(), the point coords are wrong. The Y
>coord always equals what the Y should be, and the Y is garbage.
>The structure I am passing is:

>  WinPoint = record
>     x : Integer;
>     y : Integer;
>  end;
>  DropFileRecord = record
>     Size : Word;
>     MousePos : WinPoint;
>     InNonClientArea : Boolean;
>  end;

>The odd thing is that it gets the file name correct, which implies
>that the length of this record is correct.  Any idea what's wrong? Has
>anybody seen a Delphi example of this?
>  - Pete

Other Threads