Page 1 sur 1
Bug avec DirectSoundEnumerate
Publié : dim. 28/mars/2004 8:23
par ZapMan
Est-ce que quelqu'un saurait pourquoi j'obtiens un plantage avec ce code ?
Code : Tout sélectionner
Procedure acmCallback(lpGuid,lpcstrDescription,lpcstrModule,lpContext)
var = lpContext
ProcedureReturn #false
EndProcedure
If OpenLibrary(0,"dsound.DLL")
If IsFunction(0, "DirectSoundEnumerateA")
lp = 1
Debug CallFunction(0,"DirectSoundEnumerateA",@acmCallback,@lp)
Else
Debug "not a fonction"
EndIf
Else
Debug "not a library"
EndIf

Publié : dim. 28/mars/2004 10:05
par julien
Code : Tout sélectionner
Procedure acmCallback(lpGuid,lpcstrDescription,lpcstrModule,lpContext)
var = lpContext
ProcedureReturn #false
EndProcedure
If OpenLibrary(0,"dsound.DLL")
If IsFunction(0, "DirectSoundEnumerateA")
lp = 1
Debug CallFunction(0,"DirectSoundEnumerateA",*acmCallback,*lp)
Else
Debug "not a fonction"
EndIf
Else
Debug "not a library"
EndIf
ça me retourne une valeur negative.
quel est la différence en tre un * et un @ ?
Publié : dim. 28/mars/2004 13:39
par filperj
quel est la différence en tre un * et un @ ?
@MaVariable => retourne l'addresse de MaVariable
*MaVariable => c'est une variable indépendante de MaVariable
Pour récupérer l'addresse d'une proc, il faut écrire les parenthèses: @MaProc(). C'est peut-être ça qui manque, non?
Publié : dim. 28/mars/2004 14:36
par nico
Code : Tout sélectionner
Procedure acmCallback(lpGuid,lpcstrDescription,lpcstrModule,lpContext)
var = lpContext
Debug var
ProcedureReturn #False
EndProcedure
If OpenLibrary(0,"dsound.DLL")
If IsFunction(0, "DirectSoundEnumerateA")
lp = 5
CallFunction(0,"DirectSoundEnumerateA",@acmCallback(),lp)
Else
Debug "not a fonction"
EndIf
Else
Debug "not a library"
EndIf
Nicolas est un king
Publié : dim. 28/mars/2004 22:03
par ZapMan
Publié : jeu. 01/avr./2004 1:53
par KarLKoX
Je pense que c'est filperj qu'il faudrait remercier, si je puis me permettre

Publié : jeu. 01/avr./2004 23:26
par ZapMan
Exact, les deux, en fait.
Merci.