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

Windows Forms Discussion :

[VB.NET] RaiseEvent...


Sujet :

Windows Forms

  1. #1
    Membre éclairé Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Par défaut [VB.NET] RaiseEvent...
    Bonjour a tous
    J'ai fait un truc comme ca dans mon module :
    Code : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    Public Class LectureXml
     
            Public NomFichierConfigXml As String
            Public NomFichierRubriqueXml As String
            Public NomFichierDonneesXml As String
            Public T_ElementDeclenchement() As Rub
            Public NomClient As String
            Public Type As String
            Public Entete As String
            Public DossierFichierConfig As String
            Public DossierFichierSource As String
            Public DossierFichierSortie As String
            Public Delimiteur As String
            Public NbChamps As Integer
            Public Encapsuleur As String
            Public SeparateurDecimal As String
            Public T_NomDeclenchement() As String
            Public SupprimeLigneZero As String
            Public T_NomRubrique() As String
     
            Public Event FichierIncorrect()
     
     
     
            '---------------------------------------------
     
            'PROCEDURE QUI LIT LE FICHIER DE CONFIG XML 
     
            '---------------------------------------------
     
            Public Sub LectureFichierConfigXml()
                Dim DocXml As New XmlDocument()
                DocXml.Load(NomFichierConfigXml)
                Dim Root As XmlNode = DocXml.DocumentElement
                Dim NomClientNode As XmlNode = Root.SelectSingleNode("//NomClient")
                Dim TypeNode As XmlNode = Root.SelectSingleNode("//Type")
                Dim EnteteNode As XmlNode = Root.SelectSingleNode("//Entete")
                Dim DossierFichierConfigNode As XmlNode = Root.SelectSingleNode("//DossierFichierConfig")
                Dim DossierFichierSourceNode As XmlNode = Root.SelectSingleNode("//DossierFichierSource")
                Dim DossierFichierSortieNode As XmlNode = Root.SelectSingleNode("//DossierFichierSortie")
                Dim DelimiteurNode As XmlNode = Root.SelectSingleNode("//Delimiteur")
                Dim NbChampsNode As XmlNode = Root.SelectSingleNode("//NbChamps")
                Dim EncapsuleurNode As XmlNode = Root.SelectSingleNode("//Encapsuleur")
                Dim SeparateurDecimalNode As XmlNode = Root.SelectSingleNode("//SeparateurDecimal")
                Dim NomDeclenchementNode As XmlNodeList = Root.SelectNodes("//Rubrique//Nom")
                Dim SupprimeLigneZeroNode As XmlNode = Root.SelectSingleNode("//SupprimeLigneZero")
                Try
                    NomClient = NomClientNode.InnerText
                    Type = TypeNode.InnerText
                    Entete = EnteteNode.InnerText
                    DossierFichierConfig = DossierFichierConfigNode.InnerText
                    DossierFichierSource = DossierFichierSourceNode.InnerText
                    DossierFichierSortie = DossierFichierSortieNode.InnerText
                    Delimiteur = DelimiteurNode.InnerText
                    NbChamps = NbChampsNode.InnerText
                    Encapsuleur = EncapsuleurNode.InnerText
                    SeparateurDecimal = SeparateurDecimalNode.InnerText
                    Dim i As Integer
                    For i = 0 To NomDeclenchementNode.Count - 1
                        ReDim Preserve T_NomDeclenchement(i)
                        T_NomDeclenchement(i) = NomDeclenchementNode(i).InnerText
                    Next
                    SupprimeLigneZero = SupprimeLigneZeroNode.InnerText
                Catch
                    RaiseEvent FichierIncorrect()
                End Try
     
            End Sub

    et ca dans le code de la form


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Friend WithEvents LectureXml As New LectureXml()
        Private Sub LectureXml_FichierIncorrect() Handles LectureXml.FichierIncorrect
            LstView_Resultat.Items.Add("Fichier de configuration incorrect, ce fichier doit être de la forme ""ConfigNomClient.xml""", 3)
        End Sub
    mais en fait le code de la form ne s'effectue pas qd j'effectue un débogage lorsque dans mon module je suis sur raiseEvent FichierIncorrect il ne va pas executer le code qui se trouve dans le code de la form qq aurait une idée

  2. #2
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Salut

    un module module ?

    Mets ta classe dans un fichier "classe" car tous les membres d'un modules sont automatiquement mis en "shared" et donc pour le deboggage c'est pas pratique

    Apparement t'auras meme pas a modifier le code puisque malgre que tout soit "shared" tu as fait Friend WithEvents LectureXml As New LectureXml()

  3. #3
    Membre éclairé Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Par défaut
    jai mis mon code dans un fichier classe et ca a rien changé
    mais le truc que je ne comprends pas c'est que j'ai fait exactement la meme chose dans une aute classe et ca marche tres bien

  4. #4
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    oops j'avais pas vu que tu tentais de declancher l'evenement dans l'exception

    premiere chose: l'exeption ne doit-elle pas plutot survenir dans les Dim que tu n'as pas englobe ? hesite pas a mettre plusieurs catch et meme plusieurs try en fonction de la bonne exception ( de la plus specifique a la plus generique: catch ex as oledbexception.... catch ex as exception, dans le meme try catch: ca te permet de filtrer) A lire: les liens de la fin

    ensuite, lancer un event lors d'une exception c'est vraiement pas l'ideal: Declare ton lectureXML sans l'initialiser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Friend WithEvents LectureXml As LectureXml() 
     
    Sub chargement()
      try
        LectureXml = New LectureXml()
      catch ex as exception
        'ici tu fais une fonction
        exception2listview(ex)
      end try
    end sub
    tu catch et throw dans LectureXml ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Friend WithEvents LectureXml As New LectureXml() 
    ...
    Try
      ....
    Catch ex as exception
      Throw new Exception(Fichier de configuration incorrect, ce fichier doit être de la forme ""ConfigNomClient.xml""", ex)
    end try
    les best practices pour les exceptions:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/exceptdotnet.asp
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconexceptionhandlingfundamentals.asp[/code]

  5. #5
    Membre éclairé Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Par défaut
    ok merci encore une fois ca marche nickel

  6. #6
    Membre éclairé Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Par défaut
    Euh en fait ca marche pas top

    j'ai pas compris comment tu fait pour récupérer ton exception pour qu'elle s'affiche dans la listview

  7. #7
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Fais une fonction dans ta form: exception2listview(ex as exception)

    dans cette fonction tu recupere ex.message pour l'afficher dans la Listview

  8. #8
    Membre éclairé Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Par défaut
    j'ai fait ca et ca ne marche toujours pas

    Dans mon fichier classe

    Code : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
     
    Public Class LectureXml
     
        Public NomFichierConfigXml As String
        Public NomFichierRubriqueXml As String
        Public NomFichierDonneesXml As String
        Public T_ElementDeclenchement() As Rub
        Public NomClient As String
        Public Type As String
        Public Entete As String
        Public DossierFichierConfig As String
        Public DossierFichierSource As String
        Public DossierFichierSortie As String
        Public Delimiteur As String
        Public NbChamps As Integer
        Public Encapsuleur As String
        Public SeparateurDecimal As String
        Public T_NomDeclenchement() As String
        Public SupprimeLigneZero As String
        Public T_NomRubrique() As String
     
     
        '---------------------------------------------
     
        'PROCEDURE QUI LIT LE FICHIER DE CONFIG XML 
     
        '---------------------------------------------
     
        Public Sub LectureFichierConfigXml()
            Dim DocXml As New XmlDocument()
            DocXml.Load(NomFichierConfigXml)
            Dim Root As XmlNode = DocXml.DocumentElement
            Dim NomClientNode As XmlNode = Root.SelectSingleNode("//NomClient")
            Dim TypeNode As XmlNode = Root.SelectSingleNode("//Type")
            Dim EnteteNode As XmlNode = Root.SelectSingleNode("//Entete")
            Dim DossierFichierConfigNode As XmlNode = Root.SelectSingleNode("//DossierFichierConfig")
            Dim DossierFichierSourceNode As XmlNode = Root.SelectSingleNode("//DossierFichierSource")
            Dim DossierFichierSortieNode As XmlNode = Root.SelectSingleNode("//DossierFichierSortie")
            Dim DelimiteurNode As XmlNode = Root.SelectSingleNode("//Delimiteur")
            Dim NbChampsNode As XmlNode = Root.SelectSingleNode("//NbChamps")
            Dim EncapsuleurNode As XmlNode = Root.SelectSingleNode("//Encapsuleur")
            Dim SeparateurDecimalNode As XmlNode = Root.SelectSingleNode("//SeparateurDecimal")
            Dim NomDeclenchementNode As XmlNodeList = Root.SelectNodes("//Rubrique//Nom")
            Dim SupprimeLigneZeroNode As XmlNode = Root.SelectSingleNode("//SupprimeLigneZero")
            Try
                NomClient = NomClientNode.InnerText
                Type = TypeNode.InnerText
                Entete = EnteteNode.InnerText
                DossierFichierConfig = DossierFichierConfigNode.InnerText
                DossierFichierSource = DossierFichierSourceNode.InnerText
                DossierFichierSortie = DossierFichierSortieNode.InnerText
                Delimiteur = DelimiteurNode.InnerText
                NbChamps = NbChampsNode.InnerText
                Encapsuleur = EncapsuleurNode.InnerText
                SeparateurDecimal = SeparateurDecimalNode.InnerText
                Dim i As Integer
                For i = 0 To NomDeclenchementNode.Count - 1
                    ReDim Preserve T_NomDeclenchement(i)
                    T_NomDeclenchement(i) = NomDeclenchementNode(i).InnerText
                Next
                SupprimeLigneZero = SupprimeLigneZeroNode.InnerText
            Catch ex As Exception
                Throw New Exception("Fichier de configuration incorrect, ce fichier doit être de la forme ""ConfigNomClient.xml""", ex)
            End Try
        End Sub
    End Class
    et dans la form

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     Friend WithEvents LectureXml As LectureXml()
     
        Function ExceptionListView(ByVal ex As Exception) As String
            ExceptionListView = ex.Message
        End Function
     
        Sub chargement()
            Try
                LectureXml = New LectureXml()
            Catch ex As Exception
                LstView_Resultat.Items.Add(ExceptionListView(ex)).EnsureVisible()
            End Try
        End Sub
    En fait qd je passe sur Throw New Exception("Fichier de configuration incorrect, ce fichier doit être de la forme ""ConfigNomClient.xml""", ex)
    ca me met leve bien l exception met ca ne va pas dans la form pour afficher le message dans la lstview

  9. #9
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        Public Sub LectureFichierConfigXml()
          'deja tu deplace le try ici
          try
            Dim DocXml As New XmlDocument()
            DocXml.Load(NomFichierConfigXml) 
          ...
    ensuite je m'a effectivement enmelle dans les noms

    Code : 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
    20
     
        Private myLectureXml As LectureXml() 
     
        Function ExceptionListView(ByVal ex As Exception) As String
            LstView_Resultat.Items.Add(ex.message).EnsureVisible()
        End Function
     
        'a lancer pour faire le parsing
        Sub parsouillage()
            Try
                 myLectureXml.LectureFichierConfigXml()
            Catch ex As Exception
                 ExceptionListView(ex)
            End Try
        end sub
     
         'a lancer en premier pour initialiser myLectureXml 
        Sub chargement()
                myLectureXml = New LectureXml()
        End Sub
    hum je crois que c'est ok

  10. #10
    Membre éclairé Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Par défaut
    Hum ca m marche toujours pas
    il me met une erreur qd j 'cris ca :
    myLectureXml.LectureFichierConfigXml()
    Erreur:
    LectureFichierConfigXml n'est pas u membre de system Array
    et

    myLectureXml = New LectureXml()

  11. #11
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    myLectureXml = New LectureXml

  12. #12
    Membre éclairé Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Par défaut
    ??

  13. #13
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Code : 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
    20
     
        Private myLectureXml As LectureXml
     
        Function ExceptionListView(ByVal ex As Exception) As String
            LstView_Resultat.Items.Add(ex.message).EnsureVisible()
        End Function
     
        'a lancer pour faire le parsing
        Sub parsouillage()
            Try
                 myLectureXml.LectureFichierConfigXml()
            Catch ex As Exception
                 ExceptionListView(ex)
            End Try
        end sub
     
         'a lancer en premier pour initialiser myLectureXml
        Sub chargement()
                myLectureXml = New LectureXml
        End Sub

  14. #14
    Membre éclairé Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Par défaut
    Merci beaucoup ca march eje suis désolé d'avoir fait le lourd mais y a pas mal de choses que je n'assimile pas en ce monment je suis un peu perdu entre vb6 et vb.net j 'ai du mal a faire la transition

  15. #15
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    ya pas de mal: c'est moi qui met du code sans reflechir

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

Discussions similaires

  1. [Débat] Technologie .NET vs JAVA
    Par neo.51 dans le forum Débats sur le développement - Le Best Of
    Réponses: 1047
    Dernier message: 14/01/2019, 16h15
  2. Réponses: 0
    Dernier message: 26/01/2009, 16h47
  3. A ceux qui ont migré de VB6 vers VB.Net
    Par Fox dans le forum VB 6 et antérieur
    Réponses: 81
    Dernier message: 21/05/2008, 14h56
  4. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  5. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    Réponses: 5
    Dernier message: 05/04/2002, 09h45

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