Показать сообщение отдельно
  #12  
Старый 11.04.2008, 19:45
Аватар для AXS
AXS AXS вне форума
Новичок
 
Регистрация: 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.
Ответить с цитированием