To help you out a bit.
MyPoint := TPoint.create(x,y);
so use a TPOINT for your define instead... Its the same thing but it has all the operators and sub functions in it.
TGridPosition := TPoint;
if you are making some sort of compound record then include a Tpoint within ..
MyGridPos.Location := TMyGridPos.Location.Create(x,y);
etc
I am sure that should compile, I have D sitting in front of me atm and could test that if it does not.