Bug avec DirectSoundEnumerate

Programmation d'applications complexes
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Bug avec DirectSoundEnumerate

Message 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
:(
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
julien
Messages : 846
Inscription : ven. 30/janv./2004 15:06
Contact :

Message 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 @ ?
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message 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?
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message 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 
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Nicolas est un king

Message par ZapMan »

Nico, tu es le plus beau.

Merci, c'est bête comme choux, mais vraiment je n'y aurais pas pensé.

Merci, merci. :D :D :D :D :lol:
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

Je pense que c'est filperj qu'il faudrait remercier, si je puis me permettre :D
"Qui baise trop bouffe un poil." P. Desproges
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Message par ZapMan »

Exact, les deux, en fait.

Merci.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
Répondre