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

Dotnet Discussion :

Parallélisme => Objet supprimé


Sujet :

Dotnet

  1. #1
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut Parallélisme => Objet supprimé
    Bonjour @ tous,

    Je m'évertue depuis un moment à faire du // de façon toute bête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ...
    Dim tArts = Task.Factory.StartNew(Sub()
                                                  Arts.GetAll()
                                                  setMsg($"Articles chargés: {tblArticles.msgErr}")
                                              End Sub)
    ..
     
        Sub setMsg(str As String)
    ...
            If (txtInfos.InvokeRequired) Then txtInfos.BeginInvoke(New setControlStr(AddressOf ctrlAddText), txtInfos, $"{str}{Environment.NewLine}", 1) Else txtInfos.AppendText($"{str}{Environment.NewLine}") ' Gérer les accès concurrentiels.
        End Sub
    J'utilise setMsg(...) un peu partout dans mon formulaire.
    Des fois dans un Task, des fois non.
    Et par moment (c'est aléatoire), il me met ce message d'erreur sur txtInfos.AppendText($"{str}{Environment.NewLine}" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Impossible d'accéder à un objet supprimé. Nom de l'objet : 'TextBox'
    C'est incompréhensible, je n'arrive pas à trouver un cas de figure similaire sur la toile.

    Avez vous une idée ?
    David.

  2. #2
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 541
    Points
    10 541
    Billets dans le blog
    21
    Par défaut
    On dirait que la méthode Dispose() de ta TextBox a été appelé. Peux-tu vérifier la prochaine que cela se produit ce que te retourne TextBox.IsDisposed() ?
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  3. #3
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    (re)Salut Dorinf,

    Comme tu vois, on dirait qu'une entité divine (le grand hifboul, surement ) ne veux pas que je le fasse ce fichu formulaire, hi.

    Ok, je teste ça à prochaine exception, merci pour la piste.

    Bon WE !
    David.

  4. #4
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 064
    Points : 420
    Points
    420
    Par défaut
    Salut Dorinf,

    En effet, le IsDisposed est à true.
    Mais à y penser, c'est moi qui déraille.
    En fait, je lance un traitement long en //, et à la fin, j'affiche un message.
    Or, le souci apparait lorsque je ferme la fenêtre avant que le traitement ne soit fini.
    Le bug est donc logique, il cherche à afficher un message dans un control de la fenêtre alors qu'elle est fermée, donc le control libéré.
    du coup, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            If (txtInfos.InvokeRequired) Then ' Gérer les accès concurentiels.
                txtInfos.BeginInvoke(New setControlStr(AddressOf ctrlAddText), txtInfos, $"{str}{Environment.NewLine}", 1)
            ElseIf (Not txtInfos.IsDisposed) Then
                txtInfos.AppendText($"{str}{Environment.NewLine}")
            End If
    Merci pour ta participation.
    David.

  5. #5
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 541
    Points
    10 541
    Billets dans le blog
    21
    Par défaut
    mais de rien
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

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

Discussions similaires

  1. [Débutant] Nettoyage des objets supprimés
    Par knarf44 dans le forum C#
    Réponses: 0
    Dernier message: 01/12/2015, 09h49
  2. Réponses: 12
    Dernier message: 27/07/2015, 08h32
  3. Reférence sur un objet supprimé
    Par PilloBuenaGente dans le forum Débuter
    Réponses: 7
    Dernier message: 25/03/2013, 20h59
  4. [WCF]Impossible d'accéder à un objet supprimé.
    Par Sonny dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 15/04/2008, 20h48
  5. Taille base / objets supprimés
    Par Laverdure_mt dans le forum Access
    Réponses: 2
    Dernier message: 31/03/2008, 10h30

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