Bug lors de l'exécution d'un programme

Résolu
razmar Messages postés 6 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 10 avril 2010 - 10 avril 2010 à 00:10
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 11 avril 2010 à 00:35
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

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 avril 2010 à 00:59
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
3
razmar Messages postés 6 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 10 avril 2010
10 avril 2010 à 00:34
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
0
razmar Messages postés 6 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 10 avril 2010
10 avril 2010 à 12:47
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 ?
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 avril 2010 à 14:08
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
razmar Messages postés 6 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 10 avril 2010
10 avril 2010 à 19:26
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.
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 avril 2010 à 21:17
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
0
razmar Messages postés 6 Date d'inscription mardi 23 mars 2010 Statut Membre Dernière intervention 10 avril 2010
10 avril 2010 à 21:37
Et je peux le télécharger où Microsoft Script Control ?
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
11 avril 2010 à 00:35
Il est fourni avec VB6 ... ou en tous cas dans la version Enterprise.
---
VB.NET is good ... VB6 is better
0
Rejoignez-nous