- Код: Выделить всё
- function ConvertCoorRoutine(_X, _Y : GLfloat) : TPointf;
 begin
 Result := TPointf(WorldToViewPortCoor2f(GLPoint3d(_X, _Y, 0)));
 end;
Хотя в Lazarus 32bit ошибок не выдается.
А вот такой компилируется без ошибок и в Lazarus 64bit:
- Код: Выделить всё
- function ConvertCoorRoutine(_X, _Y : GLfloat) : TPointf;
 var
 BufPointf : TGLPointf;
 begin
 BufPointf := WorldToViewPortCoor2f(GLPoint3d(_X, _Y, 0));
 Result := TPointf(BufPointf);
 end;
- Код: Выделить всё
- type
 TGLPointf = packed record
 X, Y : GLfloat;
 end;
 GLfloat = Single;
 TPointf = packed record
 X, Y : single;
 end;
Понять не могу что не понравилось компилятору.
И при чем здесь разрядность компилятора.
И что за невнятное сообщение об ошибке.
Подскажите кто знает.
Заранее спасибо.



