- Код: Выделить всё
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;
Понять не могу что не понравилось компилятору.
И при чем здесь разрядность компилятора.
И что за невнятное сообщение об ошибке.
Подскажите кто знает.
Заранее спасибо.