procedure TForm1.Button1Click(Sender: TObject);
var
lpDD: IDirectDraw;
ddrval:HRESULT;
surface:TDDSurfaceDesc;
lpDDSurface: IDirectDrawSurface;
begin
ddrval:=DirectDrawCreate(nil,lpdd,nil);
if (ddrval = DD_OK)  then
begin   showmessage('OK!');
   lpDD.SetCooperativeLevel(panel1.Handle,DDSCL_NORMAL);
   surface.dwSize:=sizeof(surface);
   surface.dwFlags := DDSD_CAPS and DDSD_BACKBUFFERCOUNT;
   surface.ddsCaps.dwCaps := DDSCAPS_PRIMARYSURFACE and DDSCAPS_FLIP and DDSCAPS_COMPLEX;
   surface.dwBackBufferCount := 1;
   ddrval:=lpdd.CreateSurface(surface,lpDDSurFace,nil);
   if (ddrval = DD_OK)  then
     begin
       showmessage('OK!');
     end;
end;
end;-----------------
ddrval:=lpdd.CreateSurface(surface,lpDDSurFace,nil);这里,ddrval得不到DD_OK的结果,Why?