Página 1 de 1

Utilizar DLL

Publicado: Mié Feb 08, 2006 11:46 pm
por vily
Hola.
Estoy intentando cargar una DLL y siguiendo unas instrucciones que encontré
aquí, he intentado hacer el siguiente ejemplo:
FUNCTION sndPlaySoundA( pszSound,fuSound )
STATIC hLib
STATIC nProcAddr
IF nProcAddr == NIL
hLib := Loadlibrary( "WINMM" )
nProcAddr := GetProcAddress( hLib, "sndPlaySoundA" )
ENDIF
Return CallDLL( hLib, nProcAddr,, 8, 10, pszSound, -3, fuSound )
Pero al compilar me da los siguientes errores:
-Error: Unresolved external '_HB_FUN_GETPROCADDRESS' referenced from
C:XAILERSAMPLESDLLOBJFORMCALLDLL.OBJ
-Error: Unresolved external '_HB_FUN_CALLDLL' referenced from
C:XAILERSAMPLESDLLOBJFORMCALLDLL.OBJ
Alguien puede decirme que es lo que me falta o que estoy haciendo mal.
Muchas gracias.

Utilizar DLL

Publicado: Jue Feb 09, 2006 12:07 am
por jfgimenez
José,
> Estoy intentando cargar una DLL y siguiendo unas instrucciones que
> encontré aquí, he intentado hacer el siguiente ejemplo:
>
>
>
> FUNCTION sndPlaySoundA( pszSound,fuSound )
Necesitas hacer un "wrapper" en C. Sería algo así:
//---------------------------------------------------------- --------------------
#pragma BEGINDUMP
#include "windows.h"
#include "xailer.h"
XA_FUNC( PLAYSOUND )
{
hb_retl( PlaySound( hb_parc( 1 ), (HINSTANCE) hb_parnl( 2 ), hb_parnl(
3 ) ) );
}
#pragma ENDDUMP
//---------------------------------------------------------- --------------------
Y para llamar a la función lo harías así:
PlaySound( "c:winxpmediatada.wav",, nOr( SND_ASYNC, SND_FILENAME ) )
--
Un saludo,
José F. Giménez