
11.04.2008, 19:45
|
 |
Новичок
|
|
Регистрация: 26.11.2006
Адрес: РК г. Талдыкорган
Сообщения: 67
Репутация: 15
|
|
Цитата:
Сообщение от zip000
AXS, приведите ВЕСЬ код процедуры, т.к. ошибка у вас явно не в этом месте. У меня этот код не вызывает никаких исключений.
|
Код юнита:
Просто инициализируем OpenGL во время создания и отпускаем в конце работы (лишнее убрал. падает то при инициализации...)
Код:
unit ChildMod;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dglOpenGL;
type
TChildForm = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
myRC:HGLRC;
myDC:HDC;
{ Private declarations }
public
{ Public declarations }
end;
var
ChildForm: TChildForm;
implementation
{$R *.dfm}
{ TChildForm }
procedure Initiate(var DC:HDC; var RC:HGLRC; Hndl:HWND; W,H,OrtZoom:Integer;
Persp, Mat, AAlias: Boolean); external 'sdcfunc';
procedure Finish(DC:HDC; RC:HGLRC; Hndl:HWND); external 'sdcfunc';
procedure TChildForm.FormCreate(Sender: TObject);
begin
Initiate(myDC,myRC,ChildForm.Handle,ChildForm.ClientWidth,ChildForm.ClientHeight,
10,true,true,true);
glTranslatef(0.0,0.0,-5.0);
end;
procedure TChildForm.FormDestroy(Sender: TObject);
begin
Finish(myDC,myRC,ChildForm.Handle);
end;
end.
|