Цитата:
Сообщение от Excreman
не понял смысл последней фразы, может она важна?
|
Не думаю, что проблема в этом. Просто если сделать для формы обработчик события OnResize, как там требуется
Код:
procedure TForm1.FormResize(Sender: TObject);
begin
FormPaint(Sender);
end;
Так вот, если написать такой обработчик, то картинка будет перерисовываться при изменении размеров окна. Другого смысла этого требования я не вижу... Хотя нужно иметь в виду, что при создании формы тоже происходит событие OnResize. Но напишите его на всякий случай — не помешает. =)
Вообще, я обычно использую несколько другой способ получения контекста рисования, когда рисование происходит на самой форме
Код:
procedure TForm1.FormPaint(Sender: TObject);
var
DC: HDC;
hrc:HGLRC;
begin
DC := GetDC(Handle);
hrc:=wglCreateContext(DC);
wglMakeCurrent(DC,hrc);
{ дальше всё так же }
wglMakeCurrent (0,0);
wglDeleteContext(hrc);
ReleaseDC(Handle, DC);
end;
Попробуйте, вдруг поможет... А вообще у вас работают другие приложения, которые используют библиотеку OpenGL? Может, проблема в ней...
P.S. Ещё одно. Этому совету хотите следуйте, хотите — нет, но я бы выполнила трассировку программы, чтобы хотя бы выяснить, на какой строке происходит ошибка. Только имейте в виду, что отладка программ, использующих OpenGL, вообще говоря, не рекомендуется.