DirectDraw Surface Problem

Started by
1 comment, last by Dez 23 years, 5 months ago
Hey everybody, I''m trying to get the example from the DirectX 7 SDK working and I cannot figure out why I''m getting this error: Compiling... Learning Code.cpp C:\Msdev\Projects\Testing Ground\Learning Code.cpp(51) : error C2664: ''CreateSurface'' : cannot convert parameter 1 from ''struct _DDSURFACEDESC2 *'' to ''struct _DDSURFACEDESC *'' (new behavior; please see help) Error executing cl.exe. Learning Code.obj - 1 error(s), 0 warning(s) // Here is part of my code: DDSURFACEDESC2 ddsd; LPDIRECTDRAWSURFACE7 FAR *g_pddsPrimary; // Initializes ''ddsd'' structure InitStruct(ddsd); ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT; ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_TEXTURE; ********************** Error Line ******************************* // Create the primary surface. hr = g_pDD->CreateSurface( &ddsd, &g_pddsPrimary, NULL ); ***************************************************************** if( FAILED( hr ) ) return hr; I can''t understand why I''m getting this error, but I''ve seen the exact same code a dozen times tonight (looking for the answer). If anyone could help me, I would appreciate it. Thank you in advance.
Advertisement
CreateSurface takes a DDSURFACEDESC if g_pDD is an LPDIRECTDRAW or LPDIRECTDRAW4 object. It only takes a DDSURFACEDESC2 if it is a LPDIRECTDRAW7 object. You should make sure that g_pDD is a LPDIRECTDRAW7.
That did the trick.

Thanks man

This topic is closed to new replies.

Advertisement