![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Access Violation на glutInitWindowPosition [D7, WinXP]
Антоныч © (2005-03-30 18:30:00)Всем привет!
Задумал недавно разобраться немного с OpenGL, купил неплохую книгу. Там все поясняется с кучей примеров. Примеры, правда, для Visual С++, но это, в принципе, не столь важно. В книге описывается работа с надстройкой glut. Скачал с нета glut.pas, glut32.dll и решил набрать первый же самый простой пример. Вот код:
program Project1;
uses
OpenGL,GLUT;
procedure Display;
begin
glClear(GL_COLOR_BUFFER_BIT);
glutSwapBuffers();
end;
{$R *.res}
begin
glutInitDisplayMode(GLUT_RGBA or GLUT_DOUBLE);
glutInitWindowSize(640,480);
glutInitWindowPosition(100,100);
glutCreateWindow(PAnsiChar('Proba'));
glClearColor(0.5,0.5,0.75,1);
glutDisplayFunc(@Display);
glutMainLoop();
end.
Выдает Access Violation at adress 00000000 на строке
glutInitWindowPosition(100,100);
Подскажите, что я неправильно делаю?
@!!ex (2005-03-30 18:50:00) [1]1) Ты уверен, что код правильно перевел? На CPP нормально работает?
2) Может быть глючная dllка. Можыть быть глючный хедер.
3) Выкинб на... эту книгу. И купи,.... скажем, Краснова. Там тебе объяснят, не как создавать окно с помощью glutInit();, а как ПРАВИЛЬНО инициализировать окно. Научат заполнять пиксельный формат, указывать настройки DC и RC. И т.д......
4) Ты уверен, что для функции Display не надо прописывать stdcall? ИМХО для CALLBACK это надо всегда прописывать. Иначе ошибка обращения к памяти - налицо. :)