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 :

L'exception Win32Exception n'a pas été gérée


Sujet :

VB.NET

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut L'exception Win32Exception n'a pas été gérée
    Bonsoir,

    a la fermeture de mon programme j'obtient parfois ce message d'erreur :
    Nom : erreur_fermeture.jpg
Affichages : 463
Taille : 95,8 Ko

    je ne vois pas ce qu'il signifie et je n'ai rien trouvé sur le net, pourriez éclairer ma lanterne ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Le mot clé "End" n'a rien à faire à cet endroit, supprimes-le !

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut
    Oui effectivement, j'ai essayé aussi
    pour fermer mon application, mais le résultat est le même toujours l'exception Win32 !

  4. #4
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut
    j'ai trouvé, en effet je demande a travers un 'msgbox' la confirmation de la fermeture de mon application, et donc il fallait que je ferme la 'msgbox' avant la fermeture de mon programme donc j'ai fait ceci, et sa fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     If MessageBox.Show("Voulez vous quitter l'application ?", "Attention", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                connection_Mysql.Close() 'ferme la connexion mysql
                'raz_defaut_carterelais()
                'SerialRelais.Close()
                My.Settings.Save()
                Me.Dispose()
                Me.Close()
            End If
    voila si un jour cela peux rendre service

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    La MessageBox est fermée lorsque tu cliques sur Yes ou No.

    il me semble que ceci est plus simple et plus propre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Private Sub frm_Main_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
            If MessageBox.Show("Voulez vous quitter l'application ?", "Attention", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                connection_Mysql.Close() 'ferme la connexion mysql
                My.Settings.Save()
            Else
                e.Cancel = True
            End If
        End Sub
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Il y a aussi quelque chose qui me choque dans ce code, c'est d'avoir mis le connection_Mysql.Close() 'ferme la connexion mysql dans l'évènement qui ferme la form.

    En règle génèrale on n'est pas censé garder une seule et unique connexion ouverte pendant la durée de vie de l'application. On doit ouvrir une nouvelle connexion quand on en a besoin, puis la fermer dès que possible. C'est le SGBD qui gère lui-même les connexions de son côté, à l'aide du pool de connexions.

    Le pool gère lui-même les connexions et la principale raison c'est que ca lui permet d'optimiser ses ressources pour pouvoir être appelé par plusieurs clients. Ton application ne peut pas savoir qu'elle doit libérer sa connexion parce qu'une autre en a besoin, ou alors ca nécessiterai la mise en oeuvre d'une logique complexe.

    Enfin, pour ton application elle-même, avoir une connexion ouverte non stop peut créer des problèmes, par exemple un timeout inopiné, ou encore une interruption du réseau entre temps... Bien sûr avoir une nouvelle connexion à chaque fois ne garanti rien mais ca évite des situations inhabituelles et difficiles à gérer.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2008, 09h54
  2. L'exception COMException n'a pas été gérée
    Par loverdev dans le forum VB.NET
    Réponses: 5
    Dernier message: 04/01/2008, 12h25
  3. L'Exception COMException n'a pas été gérée
    Par jerome71300 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/11/2007, 11h27
  4. Réponses: 7
    Dernier message: 24/06/2007, 13h19
  5. L'exception OleDBException n'a pas été gérée
    Par neo62matrix dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/05/2007, 11h27

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