портинг модуля из Дельфи
Модератор: Модераторы
- Romtek
- постоялец
- Сообщения: 190
- Зарегистрирован: 22.05.2005 12:29:35
- Откуда: Рамат Ган
- Контактная информация:
Собрался спортировать модуль для загрузки моделей GMS из Delphi в FPC и столкнулся с такой проблемой:
при запуске программы, скомпилированной в Дельфи, модель отображается без проблем, а в версии для FPC вываливается ошибка типа "An Unhadled exception occured at...EAccessViolation: ..."
Применяются модули Gl, Glu, Glut (OpenGL) и компилятор FPC версии 1.9.6
Исходники одни и те же, а результаты разные. Кто знает, куда копать?
Исходники для обоих компиляторов со всеми необходимыми файлами закодированы UUE и открываются в Тотал Коммандере и Винраре (т.к. нет функции прикрепления файлов к сообщению).
Файл gmsmodel.uue (29.4 KB):
<span style='color:red'>...
Порезано модератором. Если файл ещё нужен, то уже можно его закачать на сайт и сделать ссылку.
...</span>
при запуске программы, скомпилированной в Дельфи, модель отображается без проблем, а в версии для FPC вываливается ошибка типа "An Unhadled exception occured at...EAccessViolation: ..."
Применяются модули Gl, Glu, Glut (OpenGL) и компилятор FPC версии 1.9.6
Исходники одни и те же, а результаты разные. Кто знает, куда копать?
Исходники для обоих компиляторов со всеми необходимыми файлами закодированы UUE и открываются в Тотал Коммандере и Винраре (т.к. нет функции прикрепления файлов к сообщению).
Файл gmsmodel.uue (29.4 KB):
<span style='color:red'>...
Порезано модератором. Если файл ещё нужен, то уже можно его закачать на сайт и сделать ссылку.
...</span>
-
Sniper
GLUT - полное, стопроцентное, абсолютное оно!!
Я сам долго лбом бился (в Линуксе), методы ковыряния в исходниках показали, что динамическая библиотека не грузится, GLUT модуль это молча глотает (там за каким-то бесом проверка успешности закомментирована), и дальше всё летит при загрузке процедур...
Я, в конце концов, просто забил на GLUT, и создал её упрощённый аналог с нуля (Win32&Linux), прямо на ФриПаскале. Если интересно - <a href='http://www.chebmaster.narod.ru/cge/cheblib_winman.html' target='_blank'>лежит тут</a>. Только там, конечно, пара багов есть неисправленных. Более совершенная версия существует, но она уже намертво вшита в мой движок, и если хотите использовать, выдирать придётся с мясом...
Я сам долго лбом бился (в Линуксе), методы ковыряния в исходниках показали, что динамическая библиотека не грузится, GLUT модуль это молча глотает (там за каким-то бесом проверка успешности закомментирована), и дальше всё летит при загрузке процедур...
Я, в конце концов, просто забил на GLUT, и создал её упрощённый аналог с нуля (Win32&Linux), прямо на ФриПаскале. Если интересно - <a href='http://www.chebmaster.narod.ru/cge/cheblib_winman.html' target='_blank'>лежит тут</a>. Только там, конечно, пара багов есть неисправленных. Более совершенная версия существует, но она уже намертво вшита в мой движок, и если хотите использовать, выдирать придётся с мясом...
-
SovNarKom
- постоялец
- Сообщения: 389
- Зарегистрирован: 28.05.2005 10:37:39
- Откуда: Воронеж [vrn] [36]
- Контактная информация:
О! С сайта www.delphi3d.net обновил GL.pas
Пришлось правда немного поправить. Если кому нужен - могу залить.
Пришлось правда немного поправить. Если кому нужен - могу залить.
А уменя не работает -> External... 000000 типа нет в длл такой...
Под Виндовс эта функция приносит немеряную головную боль.
Если кратко, она должна быть в opengl32.dll, а та, что в gdi32.dll - устаревшая (так, вроде?), и попытка её вызвать вызовет жестокие глюки, а под 98-й и полный крах системы.
Я, честно, просто плюнул на всё это, оставив у себя толькоо загрузку из opengl32.dll.
Народ, если кому не лень - проверьте мои примеры (вес в исходниках - всего 100 килобайт) - не будет оно жаловаться на отсутствие этих ф-й?..
