Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: CL | DM;

Вниз

Почему этот код вызывает ошибку   Найти похожие ветки 

 
Yanis ©   (2006-01-30 13:18) [0]

Ошибка возникает на строчке
glutCreateWindow("Test");
Вот код:

program Project1;
{$APPTYPE CONSOLE}
uses
 SysUtils, Glut, OpenGL;

procedure Display; cdecl;
begin
 glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
 glLoadIdentity;
 glutWireTeapot(0.5);
 glutSwapBuffers;
end;

procedure Reshape(w, h: Integer); cdecl;
begin
 glViewport(0, 0, w, h);
end;

procedure Keyboard(key: Byte; x, y: Integer); cdecl;
begin
 if key = 27 then
   Halt;
end;

var
 cmd: array[0..31] of PChar;
 i, count: Integer;
begin
 for i := 0 to ParamCount do
   cmd[i] := PChar(ParamStr(i));
 count := ParamCount + 1;
 glutInit(@count, @cmd);

 glutInitDisplayMode(GLUT_RGB or GLUT_DOUBLE or GLUT_DEPTH);
 glutInitWindowPosition(50, 50);
 glutInitWindowSize(512, 512);
 glutCreateWindow("Test");
 glEnable(GL_DEPTH_TEST);
 glutDisplayFunc(Display);
 glutReshapeFunc(Reshape);
 glutKeyboardFunc(Keyboard);
 glutMainLoop;
end.


 
Yanis ©   (2006-01-30 13:31) [1]

Только что выяснилось, что ошика возникает ещё раньше. Вот на этой строчке:

glutInitWindowPosition(50, 50);


 
Soulghai ©   (2006-01-30 13:34) [2]

{$APPTYPE CONSOLE} - нахрена тебе?


 
Yanis ©   (2006-01-30 13:40) [3]

2 Soulghai
Да вообще то это мне не нужно. Но это и не мешает. Скорее даже помогает при отладке.


 
Cash ©   (2006-01-30 13:43) [4]

Yanis ©   (30.01.06 13:40) [3]:
А ты знаешь что это значит?


 
Yanis ©   (2006-01-30 13:46) [5]


> А ты знаешь что это значит?

Что?
{$APPTYPE CONSOLE} что значит?


 
Cash ©   (2006-01-30 14:00) [6]

Да, ведь Soulghai ничего другого не выделял.


 
Yanis ©   (2006-01-30 14:05) [7]

Господи, что вы пристали к {$APPTYPE CONSOLE}? Просто у меня был пример, в нём выводилиськ оординаты прямов консоль. Хотел передалть этот пример с использованием glut. Дело то не в консольном приложении.


 
Cash ©   (2006-01-30 14:10) [8]

Yanis ©   (30.01.06 14:05) [7]:
Дак вот: нешути с консолью! :)))
Убери эту директиву и попробуй еще раз.


 
Yanis ©   (2006-01-30 14:30) [9]

Послушайте. За кого вы меня принимаете? Меня это обижет:

> А ты знаешь что это значит?

:)
Я бы не полез в форуме, если бы всё не перепробовал, что в моих силах. Мне кажется что где то, какая то функция не загружена. Ошибка:

> Exception EAccessViolation in module Project1.exe at 00000000.
> Access violation at address 00000000. Read of address 00000000.
>


 
Yanis ©   (2006-01-30 14:42) [10]

Если кто то возмётся помогать, то могу выслать все файлы проекта включая модули в uses.


 
XProger ©   (2006-01-30 14:46) [11]

Yanis, линковка процедуры glutInitWindowPosition - динамическая? Линкуешь перед вызовом?


 
Yanis ©   (2006-01-30 14:51) [12]

2 [11]
Модуль Glut с сайта delphi3d.net Там загрузка происходит при инициализации модуля. т.е. динамическая.


 
Cash ©   (2006-01-30 14:52) [13]

Yanis ©   (30.01.06 14:30) [9]:
Sorry men! Be calm and... be not warry, somewho konw this trouble!
Patient!...


 
XProger ©   (2006-01-30 14:57) [14]

Ладно, поставлю вопрос по-другому... Чему равен адрес процедуры @glutInitWindowPosition до её вызова?


 
Yanis ©   (2006-01-30 15:38) [15]

Всем спасибо. При помощи XProger"а я разобрался с проблемой. Просто модуль Glut.pas криво написан и там просто небыла реализована загрузка этой процедуры и её адрес всегда был nil. Кому интересно его можно скачать отсуда
http://www.mit.jyu.fi/vesal/kurssit/winohj/htyot/h02/ajkolio/delphi/glunits/GLUT.pas



Страницы: 1 вся ветка

Текущий архив: 2006.11.12;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.069 c
4-1151484732
Arazel
2006-06-28 12:52
2006.11.12
Как получить физическую геометрию жесткого диска по Win9x


6-1149500888
MacroDenS
2006-06-05 13:48
2006.11.12
Сетевое подключение...


2-1162191258
Alex_C
2006-10-30 09:54
2006.11.12
Координаты мыши в мемо


1-1159274135
tester's
2006-09-26 16:35
2006.11.12
руссификация проги


15-1161828627
Карелин Артем
2006-10-26 06:10
2006.11.12
Нет илишеств. Как понимаете эту фразу в отношении СОВРЕМЕННЫХ ОС?