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 :

Problème de déclaration d'objet Form


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de sibama
    Profil pro
    Inscrit en
    Août 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 150
    Par défaut Problème de déclaration d'objet Form
    Salut
    Je travaille sur une appli dont une partie du traitement commence à prendre pas mal de temps de traitement. Pour éviter l'énervement et l'inquiétude des futurs utilisateurs, j'ai créé un formulaire d'attente (FormAttente) avec une jolie animation et j'ai déplacé le traitement long dans un backgroundworker.

    Je déclare mon formulaire d'attente de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Friend FormAtt As New FormAttente
    il est déclaré de manière "globale" car comme on peut le voir ci-après, je le lance dans une SUB et l'arrête dans une autre.

    Dans la SUB associée au bouton Exécuter de mon formulaire:
    - un petit peu de traitement
    - le lancement de mon formulaire d'attente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' Affichage du formulaire d'attente
            FormAtt.Show()
    - la préparation de données pour mon backgroundworker
    - le lancement de mon backgroundworker

    Dans la SUB liée à la fin de mon backgroundworker (le _RunWorkerCompleted):
    - la récupération du traitement de mon backgroundworker
    - la fermeture de mon formulaire d'attente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' Fermeture du formulaire d'attente
            FormAtt.Close()
    Tout cela marche super bien lors du premier lancement du bouton Exécuter, mais je veux que l'on puisse relancer le traitement avec d'autres données d'entrée sans arrêter/relancer le code.
    Il s'avère que si on réactive le traitement, j'ai une erreur au moment de l'ouverture du formulaire d'attente qui me signale
    Impossible d'accéder à un objet supprimé
    Je pense que mon problème vient du fait que le FormAtt.Close est plus ou moins l'équivalent de FormAtt = nothing. Du coup je ne vois pas trop comment m'en sortir.
    J'ai bien essayé un FormAtt.Hide, mais je ne réussi pas a trouver l'événement associé dans le formulaire d'attente, du coup cela me pose des problèmes avec les Timer qui me servent pour l'animation que je ne sais pas réinitialiser lorsque je refais le FormAtt.Show.

    Quelqu'un a une idée?
    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    on peut contrôler si le formulaire a été supprimé, pour en créer une nouvelle instance, avant de l'afficher, du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            If FormAtt.IsDisposed Then
                FormAtt = New FormAttente()
            End If
            FormAtt.Show()

  3. #3
    Membre confirmé Avatar de sibama
    Profil pro
    Inscrit en
    Août 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 150
    Par défaut
    Merci pour ta réponse chrismonoye, je viens d'essayer, ça marche nickel .

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

Discussions similaires

  1. [XL-2007] Problème de Date d'Objet range et de déclaration de variable !
    Par dmoluc dans le forum Excel
    Réponses: 21
    Dernier message: 22/07/2012, 09h08
  2. Problème création d'un objet dans une Form
    Par helico2 dans le forum C++/CLI
    Réponses: 7
    Dernier message: 02/01/2008, 16h32
  3. Réponses: 11
    Dernier message: 29/04/2005, 19h45
  4. Réponses: 14
    Dernier message: 02/03/2005, 18h15
  5. Problème de déclaration de segment avec use32
    Par le mage tophinus dans le forum Assembleur
    Réponses: 2
    Dernier message: 10/01/2003, 10h17

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