none
Erreur lors de la fermeture d'une WidowsForm RRS feed

  • Question

  • Bojour a tous,

     

    fini les vacances ! a nouveau les petits soucis de devloppement..!

     

    J'ai un message d'exception lorsque je ferme certaines fenetres de mon application. Ces erreurs apparaissent seulement sur le PC sur lequel est installer mon application (XP), alors que sur mon Pc de developpement je ne pas ces messages (Vista). Le deboguer m'indique de mettre un JIT dans mon prog pour connaitre l'origne de cette erreur, mais je ne sais pas ou ni comment l'implanter ce JIT !

     

    Pourriez vous m'aider SVP ? Merci .

    mardi 16 août 2011 09:39

Réponses

  • Bonjour Sinki42,

    Le débogage juste-à-temps alias JIT est activable ou désactivable (voir : http://msdn.microsoft.com/fr-fr/library/5hs4b7a6%28v=VS.100%29.aspx).

    Par contre, d'après ce lien, le débogueur JIT n'est pas disponible pour les versions Express de Visual Studio.

    Ce qu'il faut faire pour éviter ces messages, c'est gérer l'erreur survenue (donc essayer un bloc try catch dans les évènements de fermeture du formulaire).

    Pour avancer plus loin, il nous faut plus d'informations sur le message et éventuellement une capture d'écran pour bien saisir le problème.

    Bonne journée.


    N'hésitez pas à poser des questions si un problème subsiste ou quelque chose n'est pas clair. Dans l'autre cas, veuillez indiquer que le problème est résolu. Cordialement - Best Regards. Contact
    mardi 16 août 2011 13:56

Toutes les réponses

  • Bonjour Sinki42,

    Le débogage juste-à-temps alias JIT est activable ou désactivable (voir : http://msdn.microsoft.com/fr-fr/library/5hs4b7a6%28v=VS.100%29.aspx).

    Par contre, d'après ce lien, le débogueur JIT n'est pas disponible pour les versions Express de Visual Studio.

    Ce qu'il faut faire pour éviter ces messages, c'est gérer l'erreur survenue (donc essayer un bloc try catch dans les évènements de fermeture du formulaire).

    Pour avancer plus loin, il nous faut plus d'informations sur le message et éventuellement une capture d'écran pour bien saisir le problème.

    Bonne journée.


    N'hésitez pas à poser des questions si un problème subsiste ou quelque chose n'est pas clair. Dans l'autre cas, veuillez indiquer que le problème est résolu. Cordialement - Best Regards. Contact
    mardi 16 août 2011 13:56
  • Bonjour, Sinki42,

    Est-ce que vous avez pu avancer en utilisant les informations fournies par Michel ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.

     

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    jeudi 18 août 2011 06:24
  • Bonjour Michel,

     

    Merci pour ta reponse,

     

    Malheursement j'utilise le version Express de Visual Studio, donc pas de JIT possible (apparament!).

     

    J'ai bien pensé a la capture d'ecran, mais le fichier image est resté sur le PC client. Je pourrais recuperer le fichier semaine prochaine..

     

    En attendant je me un extrait du code qui me provoque l'erreur.

     

    merci.

    Le code d'une fenetre :

    Private Sub Rack1_cycle1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Try
    
          If Timer1.Enabled Or Timer2.Enabled Or Timer3.Enabled Or Timer4.Enabled Or Timer5.Enabled Or Timer6.Enabled Then
    
            If (MsgBox("Enregistrement(s) en cours, Voulez vous vraiment fermer ?", vbYesNo) = DialogResult.No) Then
              e.Cancel = True
              Exit Sub
            End If
          End If
    
          sensor.close()
    
          If SerialPort1.IsOpen Then
            GC.ReRegisterForFinalize(SerialPort1.BaseStream)
            SerialPort1.Close()
          End If
    
          Timer8.Enabled = False
    
          Dim v As New SuivieEtape1
          Dim Writer = New XmlSerializer(GetType(SuivieEtape1))
          Dim file = New StreamWriter("C:\EasyBat\NUMEROS DE SERIE\" & NomRACK1 & "SuivieEtape1.xml")
          Try
            v.DR_Effectué = Rack1_cycle1Effectué
            v.CDC_Effectué = Rack1_cycle2Effectué
            v.EDC_Effectué = Rack1_cycle3Effectué
            v.CAE_Effectué = Rack1_cycle4Effectué
    
            v.DR_Debuté = Rack1_cycle1EnCours
            v.CDC_Debuté = Rack1_cycle2EnCours
            v.EDC_Debuté = Rack1_cycle3EnCours
            v.CAE_Debuté = Rack1_cycle4EnCours
    
            v.Mem_Acquisition = Acquistion
    
            Writer.Serialize(file, v)
            file.Close()
            v = Nothing
    
            Dim v2 As New SuivieEtape2
            Dim Writer2 = New XmlSerializer(GetType(SuivieEtape2))
            Dim file2 = New StreamWriter("C:\EasyBat\NUMEROS DE SERIE\" & NomRACK2 & "SuivieEtape2.xml")
    
            v2.DR_Effectué = Rack2_cycle1Effectué
            v2.CDC_Effectué = Rack2_cycle2Effectué
            v2.EDC_Effectué = Rack2_cycle3Effectué
            v2.CAE_Effectué = Rack2_cycle4Effectué
    
            v2.DR_Debuté = Rack2_cycle1EnCours
            v2.CDC_Debuté = Rack2_cycle2EnCours
            v2.EDC_Debuté = Rack2_cycle3EnCours
            v2.CAE_Debuté = Rack2_cycle4EnCours
    
            v2.Mem_Acquisition = Acquistion2
    
            Writer2.Serialize(file2, v2)
            file2.Close()
            v2 = Nothing
    
            Dim v3 As New SuivieEtape3
            Dim Writer3 = New XmlSerializer(GetType(SuivieEtape3))
            Dim file3 = New StreamWriter("C:\EasyBat\NUMEROS DE SERIE\" & NomRACK3 & "SuivieEtape3.xml")
    
            v3.DR_Effectué = Rack3_cycle1Effectué
            v3.CDC_Effectué = Rack3_cycle2Effectué
            v3.EDC_Effectué = Rack3_cycle3Effectué
            v3.CAE_Effectué = Rack3_cycle4Effectué
    
            v3.DR_Debuté = Rack3_cycle1EnCours
            v3.CDC_Debuté = Rack3_cycle2EnCours
            v3.EDC_Debuté = Rack3_cycle3EnCours
            v3.CAE_Debuté = Rack3_cycle4EnCours
    
            v3.Mem_Acquisition = Acquistion3
    
            Writer3.Serialize(file3, v3)
            file3.Close()
            v3 = Nothing
    
            Dim v4 As New SuivieEtape4
            Dim Writer4 = New XmlSerializer(GetType(SuivieEtape4))
            Dim file4 = New StreamWriter("C:\EasyBat\NUMEROS DE SERIE\" & NomRACK4 & "SuivieEtape4.xml")
    
            v4.DR_Effectué = Rack4_cycle1Effectué
            v4.CDC_Effectué = Rack4_cycle2Effectué
            v4.EDC_Effectué = Rack4_cycle3Effectué
            v4.CAE_Effectué = Rack4_cycle4Effectué
    
            v4.DR_Debuté = Rack4_cycle1EnCours
            v4.CDC_Debuté = Rack4_cycle2EnCours
            v4.EDC_Debuté = Rack4_cycle3EnCours
            v4.CAE_Debuté = Rack4_cycle4EnCours
    
            v4.Mem_Acquisition = Acquistion4
    
            Writer4.Serialize(file4, v4)
            file4.Close()
            v4 = Nothing
    
            Dim v5 As New SuivieEtape5
            Dim Writer5 = New XmlSerializer(GetType(SuivieEtape5))
            Dim file5 = New StreamWriter("C:\EasyBat\NUMEROS DE SERIE\" & NomRACK5 & "SuivieEtape5.xml")
    
            v5.DR_Effectué = Rack5_cycle1Effectué
            v5.CDC_Effectué = Rack5_cycle2Effectué
            v5.EDC_Effectué = Rack5_cycle3Effectué
            v5.CAE_Effectué = Rack5_cycle4Effectué
    
            v5.DR_Debuté = Rack5_cycle1EnCours
            v5.CDC_Debuté = Rack5_cycle2EnCours
            v5.EDC_Debuté = Rack5_cycle3EnCours
            v5.CAE_Debuté = Rack5_cycle4EnCours
    
            v5.Mem_Acquisition = Acquistion5
    
            Writer5.Serialize(file5, v5)
            file5.Close()
            v5 = Nothing
    
            Dim v6 As New SuivieEtape6
            Dim Writer6 = New XmlSerializer(GetType(SuivieEtape6))
            Dim file6 = New StreamWriter("C:\EasyBat\NUMEROS DE SERIE\" & NomRACK6 & "SuivieEtape6.xml")
    
            v6.DR_Effectué = Rack6_cycle1Effectué
            v6.CDC_Effectué = Rack6_cycle2Effectué
            v6.EDC_Effectué = Rack6_cycle3Effectué
            v6.CAE_Effectué = Rack6_cycle4Effectué
    
            v6.DR_Debuté = Rack6_cycle1EnCours
            v6.CDC_Debuté = Rack6_cycle2EnCours
            v6.EDC_Debuté = Rack6_cycle3EnCours
            v6.CAE_Debuté = Rack6_cycle4EnCours
    
            v6.Mem_Acquisition = Acquistion6
    
            Writer6.Serialize(file6, v6)
            file6.Close()
            v6 = Nothing
    
            Button1.Enabled = True
            Button2.Enabled = True
            Button3.Enabled = True
            Button4.Enabled = True
            Button5.Enabled = True
            Button6.Enabled = True
            Button7.Enabled = True
            Button8.Enabled = True
            Button9.Enabled = True
            Button10.Enabled = True
            Button11.Enabled = True
            Button12.Enabled = True
            Button13.Enabled = True
            Button14.Enabled = True
            Button15.Enabled = True
            Button16.Enabled = True
            Button17.Enabled = True
            Button18.Enabled = True
    
          Catch ex As Exception
            MsgBox("NOM DE FICHIER INCORRECT", MsgBoxStyle.Exclamation)
          End Try
    
        Catch ex As Exception
          MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text)
        End Try
      End Sub
    

     

    Le d'une autre fenetre:

     

    mercredi 24 août 2011 18:03