Page 2 of 2

Posted: Tue Jul 29, 2008 10:04 pm
by Antonio Linares
Salvador,

Prueba a cambiar esta línea:

pW3 = AnsiToWide( ( LPSTR ) LockResource( hglb ) );

por:

pW3 = AnsiToWide( ( LPSTR ) hglb );

Posted: Wed Jul 30, 2008 9:39 am
by Salvador
Antonio,
De esta manera funciona:

Code: Select all

LPWSTR AnsiToWide( LPSTR );

HB_FUNC( PLAYSOUNDRESOURCE ) 
{ 
   LPWSTR pW = AnsiToWide( hb_parc( 1 ) ) ; 
        
   hb_retl( PlaySound( pW,  GetModuleHandle(NULL), ( ( hb_pcount() > 1 ) ? hb_parni( 2 ) : SND_ASYNC ) | SND_RESOURCE |    SND_NODEFAULT ) ); 
                      
} 
Gracias.

Posted: Wed Jul 30, 2008 10:09 am
by Antonio Linares
Salvador,

Hace falta una última llamada a hb_xfree( pW ); para liberar la memoria creada.

Posted: Wed Jul 30, 2008 10:41 am
by Salvador
Ok, gracias