Главная страница
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.039 c
15-1161608930
landeron
2006-10-23 17:08
2006.11.12
картинки


2-1161782928
vitv
2006-10-25 17:28
2006.11.12
lookup в гриде


15-1161368651
Cyrax
2006-10-20 22:24
2006.11.12
Поиск файлов-дубликатов


2-1161870569
RebroFF
2006-10-26 17:49
2006.11.12
TSQL


2-1161726522
Kostafey
2006-10-25 01:48
2006.11.12
Работа с датами в MS SQL Server