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 :

Message avertissement enumerator


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Points : 0
    Points
    0
    Par défaut Message avertissement enumerator
    Bonjour,

    voici mon code :
    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub ModifierToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ModifierToolStripMenuItem.Click
            If (Me.ListView1.SelectedItems.Count > 0) Then
                Dim str As String = Interaction.InputBox("Enter a new value.", "Edit", Me.ListView1.SelectedItems.Item(0).SubItems.Item(2).Text, -1, -1)
                If (str <> Nothing) Then
                    Dim enumerator As IEnumerator
                    Try
                        enumerator = Me.ListView1.SelectedItems.GetEnumerator
                        Do While enumerator.MoveNext
                            Dim current As ListViewItem = DirectCast(enumerator.Current, ListViewItem)
                            current.SubItems.Item(2).Text = str
                        Loop
                    Finally
                        If TypeOf enumerator Is IDisposable Then
                            TryCast(enumerator, IDisposable).Dispose()
                        End If
                    End Try
                End If
            End If
    End Sub

    Message Avertissement => La variable 'enumerator' est utilisée avant qu'une valeur ne lui ait été assignée. Une exception de référence null peut se produire au moment de l'exécution.

    Pouvez-vous m'aider a corriger ce petit problème enumerator?

    Merci,

  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
    Tu obtiens ce message, parce que si l'instruction enumerator = Me.ListView1.SelectedItems.GetEnumerator plante tu te retrouveras dans le Finally avec enumerator sans valeur (et donc un plantage sur la ligne du TryCast(enumerator, IDisposable).Dispose()
    Un moyen simple de supprimer le message d'erreur et d'initialiser enumerator : Dim enumerator As IEnumerator = Nothing sans oublier de tester dans le Finally si enumerator ne vaut pas Nothing avant de s'en servir.
    Après on peut faire mieux, en utilisant simplement une boucle For Each sur ta sélection : le code modifié (auquel j'ai fait 2-3 autres modifs)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ModifierToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ModifierToolStripMenuItem.Click
        If ListView1.SelectedItems.Count > 0 Then
            Dim str As String = Interaction.InputBox("Enter a new value.", "Edit", ListView1.SelectedItems(0).SubItems(2).Text)
            If Not String.IsNullOrWhiteSpace(str) Then
                For Each item As ListViewItem In ListView1.SelectedItems
                    item.SubItems(2).Text = str
                Next
            End If
        End If
    End Sub
    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
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 267
    Points : 0
    Points
    0
    Par défaut
    Merci de la réponse, je voudrais savoir vous voulais quoi enumerator sans valeur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ModifierToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ModifierToolStripMenuItem.Click
            If ListView1.SelectedItems.Count > 0 Then
                Dim str As String = Interaction.InputBox("Enter a new value.", "Edit : " & ListView1.SelectedItems(0).SubItems(2).Text, ListView1.SelectedItems(0).SubItems(2).Text)
                    If Not String.IsNullOrWhiteSpace(str) Then
                        For Each item As ListViewItem In ListView1.SelectedItems
                            item.SubItems(2).Text = str.ToUpper
                        Next
                    End If
            End If
        End Sub
    comment faire pour limiter dans inpubox a 4 de chiffre?
    Merci

Discussions similaires

  1. Message avertissement lors de l'envoi
    Par edsaar dans le forum VBA Outlook
    Réponses: 9
    Dernier message: 13/12/2008, 10h44
  2. message avertissement Source OLE DB
    Par stephyugh dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 15/04/2008, 10h04
  3. Réponses: 12
    Dernier message: 19/09/2007, 10h40
  4. Message Avertissement Outlook C# WinForm
    Par bensra dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/07/2007, 15h41
  5. Supprimer message avertissement Outlook Express
    Par soso78 dans le forum Outlook Express / Windows Mail
    Réponses: 1
    Dernier message: 20/06/2006, 16h53

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