Имею вот такой код:
Код:
procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var Pick:PNewtonBody;
begin
if Button=mbRight then
begin
if Assigned(Pick) then NewtonBodySetForceAndTorqueCallBack(PIck, Gravity);
end;
end;
Хочу чтобы при нажатии правой клавиши мыши к телу на которое я кликаю(я так понимаю это Pick) прикладывалась сила Gravity. По идее функция Assigned(pick) проверяет является ли данное тело физ. объектом, но куда я не кликал на физ. тело или нет функция постоянно срабатывает и ящик падает. получаетсся что указатель Pick всегда не nil. Помогите, что бы код работал корректно.
ЗАБЫЛ ДОБАВИТЬ . . . . . . . . .
Появилась ошибка(вернее она была, просто забыл сказать):"Access violation at address 10032D8 iun module 'Newton.dll'. Write of address 0000041C'. Ошибка срабатывает в момент нажатия правой кнопкой мыши и коробка не падает, хотя я и говорил что падает, но это не так. Вывод мне ясен переменная Pick ни на что не указывает, просьба та же: Как корректно оформить код?