Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 13.10.2011
Сообщений: 67
1

Куб не хочет запускаться

27.12.2011, 21:57. Показов 739. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! С Наступающим Новым Годом! Пожалуйста подсобите немного, код вроде нормальный, но выходит ошибка : "Error in module Unit1 : Declaration of class TfrmGL is missing or incorrect"
вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  OpenGL, ExtCtrls, Spin, StdCtrls;
 
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
 
    private
    DC : HDC;
    hrc : HGLRC;
    Angle, AngleX, AngleY, AngleZ: GLfloat;
    procedure DrawScene;
    procedure InitializeRC;
    procedure SetDCPixelFormat;
    protected
    procedure WMPaint(var Msg: TWMPaint); message WM_PAINT;
  end;
 
var
  Form1: TForm;
  ch, c, i: integer;
  s: string;
  ShowHelp: boolean=true;
 
 
implementation
 
{$R *.DFM}
const
MaterialColor: Array [0..3] of GLfloat = (0.5, 0.0, 1.0, 1.0);
{=======================================================================
Ïåðåðèñîâêà îêíà}
procedure TForm1.InitializeRC;
begin
 glEnable(GL_DEPTH_TEST); // ðàçðåøàåì òåñò ãëóáèíû
 glEnable(GL_LIGHTING); // ðàçðåøàåì ðàáîòó ñ îñâåùåííîñòüþ
 glEnable(GL_LIGHT0); // âêëþ÷àåì èñòî÷íèê ñâåòà 0
end;
procedure TForm1.DrawScene;
begin
 // î÷èñòêà áóôåðà öâåòà è áóôåðà ãëóáèíû
 glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
 // òðåõìåðíîñòü
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity;
 glTranslatef(0.0, 0.0, -8.0); // âëåâî/âïðàâî, ââåðõ/âíèç, íàçàä/âïåðåä
 glRotatef(AngleX, 1.0, 0.0, 0.0); // ïîâîðîò íà óãîë X
 glRotatef(AngleY, 0.0, 1.0, 0.0); // ïîâîðîò íà óãîë Y
 glRotatef(AngleZ, 0.0, 0.0, 1.0); // ïîâîðîò íà óãîë Z
 // Øåñòü ñòîðîí êóáà
 glBegin(GL_POLYGON);
  glNormal3f(0.0, 0.0, 1.0);
  glVertex3f(1.0, 1.0, 1.0);
  glVertex3f(-1.0, 1.0, 1.0);
  glVertex3f(-1.0, -1.0, 1.0);
  glVertex3f(1.0, -1.0, 1.0);
 glEnd;
glBegin(GL_POLYGON);
  glNormal3f(0.0, 0.0, -1.0);
  glVertex3f(1.0, 1.0, -1.0);
  glVertex3f(1.0, -1.0, -1.0);
  glVertex3f(-1.0, -1.0, -1.0);
  glVertex3f(-1.0, 1.0, -1.0);
 glEnd;
 
 glBegin(GL_POLYGON);
  glNormal3f(-1.0, 0.0, 0.0);
  glVertex3f(-1.0, 1.0, 1.0);
  glVertex3f(-1.0, 1.0, -1.0);
  glVertex3f(-1.0, -1.0, -1.0);
  glVertex3f(-1.0, -1.0, 1.0);
 glEnd;
 
 glBegin(GL_POLYGON);
  glNormal3f(1.0, 0.0, 0.0);
  glVertex3f(1.0, 1.0, 1.0);
  glVertex3f(1.0, -1.0, 1.0);
  glVertex3f(1.0, -1.0, -1.0);
  glVertex3f(1.0, 1.0, -1.0);
 glEnd;
 
 glBegin(GL_POLYGON);
  glNormal3f(0.0, 1.0, 0.0);
  glVertex3f(-1.0, 1.0, -1.0);
  glVertex3f(-1.0, 1.0, 1.0);
  glVertex3f(1.0, 1.0, 1.0);
  glVertex3f(1.0, 1.0, -1.0);
 glEnd;
 
 glBegin(GL_POLYGON);
  glNormal3f(0.0, -1.0, 0.0);
  glVertex3f(-1.0, -1.0, -1.0);
  glVertex3f(1.0, -1.0, -1.0);
  glVertex3f(1.0, -1.0, 1.0);
  glVertex3f(-1.0, -1.0, 1.0);
 glEnd;
 SwapBuffers(DC);   // êîíåö ðàáîòû
end;
 
 
{=======================================================================
Ñîçäàíèå ôîðìû}
procedure TForm1.FormCreate(Sender: TObject);
begin
 Angle:=0;
 AngleX:=30;
 AngleY:=-30;
 AngleZ:=0;
 c:=1;
 DC:=GetDC(Handle);
 SetDCPixelFormat;
 hrc:=wglCreateContext(DC);
 wglMakeCurrent(DC, hrc);
 InitializeRC;
 // ñâîéñòâà ìàòåðèàëà - ëèöåâûå ñòîðîíû - ðàññåÿííûé
 // öâåò ìàòåðèàëà è äèôôóçíîå îòðàæåíèå ìàòåðèàëà - çíà÷åíèÿ èç ìàññèâà
 glMaterialfv(GL_FRONT,GL_AMBIENT_AND_DIFFUSE,@MaterialColor);
end;
 
// Óñòàíîâêà ôîðìàòà ïèêñåëåé
procedure TForm1.SetDCPixelFormat;
var
 nPixelFormat: integer;
 pfd: TPixelFormatDescriptor;
begin
 FillChar(pfd, SizeOf(pfd), 0);
 with pfd do
  begin
   nSize   :=sizeof(pfd);
   nVersion:=1;
   dwFlags :=PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or
                                             PFD_DOUBLEBUFFER;
   iPixelType:=PFD_TYPE_RGBA;
   cColorBits:=24; // 24
   cDepthBits:=32; // 32
   iLayerType:= PFD_MAIN_PLANE;
 end;
 nPixelFormat := ChoosePixelFormat(DC, @pfd);
 SetPixelFormat(DC, nPixelFormat, @pfd);
end;
// Èçìåíåíèå ðàçìåðîâ îêíà
procedure TForm1.FormResize(Sender: TObject);
begin
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity;
 gluPerspective(30.0, Width/Height, 1.0, 10.0);
 glViewport(0, 0, Width, Height);
 glMatrixMode(GL_MODELVIEW);
 InvalidateRect(Handle, nil, False);
end;
// Îáðàáîòêà ñîîáùåíèÿ WM_PAINT, ðèñîâàíèå îêíà
procedure TForm1.WMPaint(var Msg: TWMPaint);
var
 ps: TPaintStruct;
begin
 BeginPaint(Handle, ps);
 DrawScene;
 EndPaint(Handle, ps);
end;
 // Êîíåö ðàáîòû ïðîãðàììû
procedure TForm1.FormDestroy(Sender: TObject);
begin
 wglMakeCurrent(0, 0);
 wglDeleteContext(hrc);
 ReleaseDC(Handle, DC);
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if ord(key)=27 then Application.Terminate; // Esc
  FormResize(nil);
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2011, 21:57
Ответы с готовыми решениями:

Проект не хочет запускаться
ПРивет всем , я вчера сохранял проект и закрыл ДЕльфи (проект работал нормально) а сегодня открыл...

Не хочет запускаться и ошибки не выделяет
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes,...

Режим отладки не хочет запускаться из за какой то ошибки
Всем привет, в общем такая проблема, нужно в дельфи решить задачку: В одномерном массиве, состоящем...

Не хочет запускаться апач
В ISP перезагрузил сервер в сервисах,после этого все намертво лежит,проверил через SSH апач не...

0
27.12.2011, 21:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2011, 21:57
Помогаю со студенческими работами здесь

Программа не хочет запускаться
Никак не могу понять, почему программа, выводящая на экран ПК, не хочет запускаться. Компилятор...

Не хочет запускаться программа
Поставил Visual Studio. Net. Пишу простейшую программу на C++, компилирую - удачно, пытаюсь...

Windows 7 не хочет запускаться
Здравствуйте! Помогите разобраться почему не запускается винда. Доходит до логотипа и все,...

TrustedInstaller не хочет запускаться
TrustedInstaller не хочет запускаться. Пишет ошибку: "Сбой при запуске службы "TrustedInstaller"...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru