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

Visual Studio Discussion :

[VB 2005] Pourquoi le bloc With n'est pas pris en compte lors du mode debug ?


Sujet :

Visual Studio

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [VB 2005] Pourquoi le bloc With n'est pas pris en compte lors du mode debug ?
    Je voudrais afficher un champ de base de donnée dans une application VB Express (VB6 convertie par VB2005.)
    Une table ACCESS est lue et les données sont écrites correctement dans un fichier Texte.
    Le code converti est le suivant pour l'écriture dans le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Print(1, .Fields("Désignation").Value
    Lorsque je veux afficher le champ dans un label.text rien ne se passe
    Si je veux voir la valeur en mode debug j’ai le message suivant
    Item = Pour évaluer une propriété indexée, cette dernière doit être qualifiée et l'utilisateur doit fournir les arguments de manière explicite.
    Qui peut m’éclairer ?

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Il nous faudrait voir ton code pour lecture et affichage dans un Label, car jusqu'ici rien ne me dit que tu utilises les fonctionnalités d'ADO.Net et comment, fais-tu du DataBinding sur le Label ???

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Il s’agit d’une application simple qui extrait des données dans Acces et qui les convertit dans un fichier texte. C’est une feuille toute simple avec un bouton qui lance le traitement. Pour faire voir à l’utilisateur que le traitement s’exécute, on affiche sur le bouton le libellé du champ en cours de lecture-écriture par l’instruction suivante dans la boucle de traitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StartBouton.Caption = ![LibLong]
    L’application vient d’être convertie par VB2005 et elle fonctionne parfaitement sauf ce « gadget » rassurant pour l’utilisateur !

    Voici le code reconverti :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With RsClients
    While Not .EOF
    		StartBouton.Text = .Fields("LibLong").Value
    		Print(1, VB6.Format(.Fields("numero").Value, "000000") & ";")
    		Print(1, .Fields("Désignation").Value & ";")
    		……		
    Ecriture des données dans un fichier Texte jusqu’EOF

    N’ayant pas d’affichage, j’ai essayé sans plus de succès l’écriture dans un label…

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Compte tenu du message de debogage suivant :
    Les contextes et instructions 'With' ne sont pas valides dans les fenêtres de débogage.
    peut-être qu'il ya un un problème d'accessibilité à l'intérieur d'un WITH ?

    Par contre si je code Me.text = (mon libellé) au même emplacement le libellé s'affiche dans le cadre supérieur gauche de la feuille.
    Je trouve le comportement de VB2005 assez bizarre....

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ouais en gros cette question n'a rien à voir avec ADO.Net donc c'est une particularité de l'EDI en mode debug c'est çà ? donc evite l'instruction with qui est propre à VB, finalement, ce n'est pas très génant au vue du code que tu présentes c'est peut être interresant de renvoyer la question au support de MS

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Problème résolu !
    Effectivement il y erreur de Forum mais tout portait a croire que le problème était dû à la conversion des données !

    En réalité à l'intérieur d'un WITH......END WITH les données ne sont pas accessibles pour certains objets, (en l'occurence un Bouton)
    Vaut mieux le savoir afin d'avoir à réécrire ce que cette instruction est censée nous éviter d'écrire

    PS merci à un gentil modérateur de me mettre dans le bon Forum en modifiant éventuellement le titre (Problème WITH...END WITH) Cette particularité mérite à être connue pour les utilisateurs de VB2005 en attendant d'être corrigée par Microsoft

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

Discussions similaires

  1. pourquoi le chemin n'est pas pris en compte
    Par petitours dans le forum C#
    Réponses: 14
    Dernier message: 14/02/2013, 20h25
  2. pourquoi la classe color1 n'est pas prise en compte ?
    Par laurentSc dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 20/08/2010, 09h45
  3. Réponses: 3
    Dernier message: 15/05/2009, 22h17
  4. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19

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