Free Pascal — ему не нравится функция OpenGL «glDrawArrays» вылетает Runtime error?

Free Pascal - ему не нравится функция OpenGL "glDrawArrays" вылетает Runtime error?
Проект игрового движка полностью написан и собран в среде Delphi 7. Главный EXE-файл (Win32) работает нормально, как на 32-х, так и на 64-х разрядной Windows (проверено). Для эксперимента собрал проект в среде Free Pascal (код нигде не менял). Работает нормально, но при повороте сцены на углы 45, 60, 90, 33,5 градусов вылетает ошибка Runtime Error. Долго бился и понял, что если "безопасно" (try ...except) вызвать функцию glDrawArrays (из OpenGl32.dll), то ошибка полностью ликвидируется, но при этом заметно легкое мигание сцены, так как инструкции далее не выполняются и сцена, соответственно, не прорисовывается. Кто знает, почему Free Pascal так недолюбливает эту дружелюбную функцию OpenGL?

  • сомневаюсь что ошибка в free pascal.
    скорее ошибка в коде, но в delphi она по какой-то причине не проявляется, или просто не влечет за собой таких терминальных последствий.
    может быть параметр count завышен (должен быть равен количеству вертексов а не координат!) и программа лезет в граничащую с массивом память, а она еще не выделена.
    вот вполне рабочий пример http://pastebin.com/2w4dpEqu

    (если отсутствует glut32.dll - ищите в интернете. я пользуюсь freeglut.dll, переименовав ее в glut32.dll)

    а вообще лучше бы использовать glDrawElements