IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Une instruction simple qui ne fonctionne pas


Sujet :

VB.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut Une instruction simple qui ne fonctionne pas
    Bonjour à tous

    Je développe avec Visual Basic 2008 Express Edition
    J'ai une application qui visualise des photos et elle fonctionne bien, sauf qu'un instruction simple refuse de fonctionner.
    J'ai : Option Strict Off et Option Explicit On

    Voici l'endroit qui pose problème



    Une fois passé sur mon point d'arrêt, la valeur de X ne change pas, malgré que la partie qui lui est assignée n'est pas zéro, comme en témoigne les valeurs dans la fenêtre Espion.
    Etant débutant avec VB.Net, je me demande si je n'ai pas oublié quelque chose.

    Merci de votre aide

    Claude Azoulai

  2. #2
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Bonjour,
    C'est peut-être idiot, mais es-tu sûr que le code passe bien par le If et pas dans la partie Else, car dans cette partie là X est défini à 0 ce qui expliquerait le résultat, essai de mettre ton point d'arrêt au niveau du If et de voir si le test s'effectue correctement.

    En espérant avoir été utile!
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Points : 118
    Points
    118
    Par défaut
    Merci à tous

    J'ai trouvé quelque chose qui me laisse perplexe.
    En premier j'ai carement écrit X=1, he bien même quand j'executais cette instruction, le résultat était X=0, bizarre bizarre
    J'ai déplacé les déclarations de X et Y, qui étaient déclarés dans un module faisant parti du projet, directement dans la Form contenant la partie du programme incriminé.

    Et ça fonctionne.

    Mais alors pourquoi les autres variables qui ne sont déclarées que dans le modules ne provoquent pas de problème ???

    Je croyais que toutes les variables déclarées Public dans un module étaient acessibles partout dans le reste du programme.

    Si quelqu'un a une idée la dessus, je suis à l'écoute

    Claude Azoulai

  4. #4
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Une chose est sûre c'est que le X que tu avais n'était certainement pas Public, regarde l'image que tu as postée, le X qui est présent est privé (cadenas présent sur le symbole de champ)

    Ensuite une variable déclarée publique dans un module est bien accessible partout, pour t'en convaincre crée un projet neuf, rajoutes-y un module avec simplement ça dedans
    et ensuite par exemple dans le Form_Load
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        X = 10
        MessageBox.Show(X.ToString())
    End Sub
    Tu auras bien 10 d'afficher.

    Simple hypothèse, peut-être as-tu dans ton code une autre déclaration de X qui masquerait celle d'une module. Au début j'avais pensé que c'était masqué par "tonForm.X" car sans préciser le X choisi est toujours celui le plus "proche" mais après vérification le contrôle Form ne possède pas cette propriété.
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. une condition simple qui ne marche pas
    Par NulenVBA dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/12/2008, 18h34
  2. [RegEx] Regex simple qui ne fonctionne pas
    Par Bruno.C dans le forum Langage
    Réponses: 4
    Dernier message: 03/12/2008, 15h05
  3. une boucle for qui ne fonctionne pas
    Par piffeo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/11/2008, 21h52
  4. Filtres tout simples qui ne fonctionnent pas
    Par cuterate dans le forum Requêtes et SQL.
    Réponses: 29
    Dernier message: 13/06/2008, 11h08
  5. Programme Perl tout simple qui ne fonctionne pas
    Par jejerome dans le forum Langage
    Réponses: 4
    Dernier message: 26/02/2006, 23h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo