Странно, у меня всё работает...
Может, после обнуления содержимого структуры pfd ст
оит всё же установить требуемые значения полей? Хотя бы самые основные... Например, что-нибудь типа этого:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
pfd:TPixelFormatDescriptor;
nPixelFormat: Integer;
begin
FillChar(pfd, sizeof(pfd), 0);
with pfd do
begin
nSize := SizeOf(pfd);
nVersion := 1;
dwFlags := PFD_SUPPORT_OPENGL or PFD_DRAW_TO_WINDOW; // возможно, флаги другие
iPixelType := PFD_TYPE_RGBA;
cColorBits := 24;
cAlphaBits := 64;
cAccumBits := 64;
cStencilBits := 64;
iLayerType := PFD_MAIN_PLANE;
end;
nPixelFormat:=ChoosePixelFormat(Canvas.Handle, @pfd);
SetPixelFormat(Canvas.Handle, nPixelFormat, @pfd);
end;