Пытаюсь написать на DEmbro OpenGL-приложение.
Функция SetPixelFormat возвращает ошибку, GetLastError сообщет, что это ошибка C0070006 (или 3221684230 в decimal), а после чтения форумов узнал, что эта ошибка возникает в системе с nVidia видеокартой, если handle окна не принадлежит процессу (или процесс не имеет должных прав).
Это весьма печально, потому что я не понимаю, почему так должно получаться. Если написать на паскале соответствующий код, то всё будет нормально. Код на DEmbro ничем особым с точки зрения системы отличаться не должен. Единственное отличие -- то, что вызов системных функций происходит из асм кода, и тут что-то могло всплыть с правами, но эта теория выглядит не убедительно.
Самое обидное, что эта ошибка возникает именно в OpenGL и именно с nVidia-видеокартой. Т.е. если бы я использовал DirectX или ATI-видеокарту, то такой ошибки не возникло бы.
[UPDATE] Ура, справился с этим. Всегда так получается, что пока я наедине с собой ищу ошибку несколько часов, ничего не выходит. Как только опишу её кому-то — сразу осеняет и проблема решается. Пора спать.
2 комментария:
В чем ошибка-то была? )))
Баг в программе, handle неправильно передавал :)
Отправить комментарий