Bug lors de l'exécution d'un programme [Résolu]

Signaler
Messages postés
6
Date d'inscription
mardi 23 mars 2010
Statut
Membre
Dernière intervention
10 avril 2010
-
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
Salut à tous, lorsque j'exécute le programme que je suis en train de faire, une fenêtre apparaît et c'est écrit: "Erreur de compilation: Type d'argument ByRef incompatible". Quand j'active le déboggage, le programme surligne en jaune "Private Sub Command1_Click()". Quelqu'un saurait d'où peut provenir le problème ? Merci d'avance.

8 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
Ceci devrait aller mieux : lorsque tu veux faire renvoyer un résultat à ta fonction, il te suffit de faire nomDeLaFonction=résultat .
Function xg(xr As Double)
    xg = (500 / (CDbl(Text2.Text) - CDbl(Text1.Text))) * xr + 250
End Function

---
VB.NET is good ... VB6 is better
Messages postés
6
Date d'inscription
mardi 23 mars 2010
Statut
Membre
Dernière intervention
10 avril 2010

Up, en fait je viens de résoudre le problème expliqué dans le premier message. Mais maintenant j'en ai un autre. En fait, j'ai créé une fonction dont les coefficients (enfin, tout ce qui n'est pas la variable) sont définis par l'utilisateur par le biais d'une textBox. Les "+0" servent à indiquer que les textes doivent être vus comme des nombres et non des chaînes de caractères.

Quand j'exécute, le message "Erreur d'exécution '28': espace de pile insuffisant" apparaît. Qu'est-ce que cela veut dire ?

Function xg(xr As Double)
    xg(xr) = (500 / (Text2.Text + 0 - Text1.Text + 0)) * xr + 250
End Function
Messages postés
6
Date d'inscription
mardi 23 mars 2010
Statut
Membre
Dernière intervention
10 avril 2010

Super, ça marche, merci pour ton aide ! Est-ce qu'il existe une fonction du même genre que CDbl() qui prend en compte une variable comme string ?
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
Tu veux dire qui convertit une String en un Double ?
Elle le fait déjà : Textbox.Text est une String !
---
VB.NET is good ... VB6 is better
Messages postés
6
Date d'inscription
mardi 23 mars 2010
Statut
Membre
Dernière intervention
10 avril 2010

Non en fait je me suis mal exprimé. J'ai une textBox et je voudrais mettre son contenu dans une fonction, du genre:

Function f(x as double)
  f=text1.text    'avec text1.text = "3*cos(x^2)" par exemple.
end function


Sauf que de cette façon, ça marche pas donc je me demandais si il y avais un moyen d'y arriver.
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
Tu veux interpréter une formule stockée dans une String ? La façon la plus simple est d'utiliser la fonction Eval du composant Microsoft Script Control
---
VB.NET is good ... VB6 is better
Messages postés
6
Date d'inscription
mardi 23 mars 2010
Statut
Membre
Dernière intervention
10 avril 2010

Et je peux le télécharger où Microsoft Script Control ?
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
13
Il est fourni avec VB6 ... ou en tous cas dans la version Enterprise.
---
VB.NET is good ... VB6 is better