Function jamais cloturée ?

narfight Messages postés 129 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 4 mars 2010 - 28 avril 2008 à 08:55
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 30 avril 2008 à 11:40
Bonjour,
J'ai un Timer qui lance toutes les X secondes une série de fonction :
<hr size="2" width="100%" />    Private Sub Refresh_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles F5_var.Tick
        AD_Analyse()
        TTL_Analyse()
         DETS_Analyse()
    End Sub
<hr size="2" width="100%" />Quand les fonctions sont appellée pour la 2éme fois, les varriables ne semble pas réinitialisé comme si toutes les varriables était global et non enfants de la fonction.

voici un extrait de la classe AD_Analyse() :
<hr size="2" width="100%" />    Public Sub AD_Analyse()
        Debug.Print("new classe in AD_Analyse")
        Dim Get_data As New Commande_Get_format()
          (......)
        Debug.Print("destroy classe in AD_Analyse")
    End Sub
<hr size="2" width="100%" />le Debug.Print() montre bien qu'il arrive au End Sub mais ma classe "Commande_Get_format" plante car les varriables vallent toutes "Nothing" comme si la classe était en train d'etre détruite. Je n'arrive pas à reproduire ce probléme en Break mode.

Voici le résultat de la fenetre immediate :
new classe in AD_Analyse
destroy classe in AD_Analyse
new classe in TTL_Analyse
destroy classe in TTL_Analyse
new classe in DETS_Analyse
destroy classe in DETS_Analyse
new classe in JOBVALUE_Analyse
destroy classe in JOBVALUE_Analyse
new classe in AD_Analyse
Une exception de première chance de type 'System.NullReferenceException' s'est produite dans Synoptic.exe

Avez-vous une idée sur ce probléme ?

Merci d'avance,
Jean-Pierre

3 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
30 avril 2008 à 08:58
Bonjour

Où as-tu déclarer tes variables qui sont utilisées ?

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
narfight Messages postés 129 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 4 mars 2010
30 avril 2008 à 11:28
Normalement, toutes les varriables sont déclarée dans le constructeur de la class
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
30 avril 2008 à 11:40
Bonjour

Donc tes variables sont déclarées comme suit :

Class ClasseMachin
Sub New(...)
Déclaration
Initialisation
End sub

sub UneProcedure(...)
Utilisation
End Sub
End class

?

Si oui, il faut les déclarées (<>utiliser) en dehors des méthodes de la classe mais dans la classe.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
Rejoignez-nous