- procedure TNewtonThread.UpdateNewton;
- ...
- CriticalSection.Enter;
- NewtonUpdate(NewtonWorld, Resolution);
- for i := 0 to 255 do
- Keys[i] := (Hi(GetAsyncKeyState(i)) = 128);
- CriticalSection.Leave;
- procedure TNewtonThread.Execute;
- begin
- while not Terminated do
- if (DoUpdate) then
- begin
- if not Pause then
- Synchronize(UpdateNewton);
- DoUpdate := False;
- end
- ...
- end;