Instanciation d'une classe [Résolu]

joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 30 mai 2013 à 16:53 - Dernière réponse : joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention
- 30 mai 2013 à 18:51
Bonjour,
j'ai une classe nommée class1 dans laquelle j'ai définie les variables connection string récupérés d'un fichier texte

Public chainePrint, chaineReg, chaine As String


avec le code suivant:

public instance as new class1

Private Sub MDIParent1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If My.Application.CommandLineArgs.Count > 0 Then
            Try
                ' Création d'une instance de StreamReader pour permettre la lecture de notre fichier
                Dim monStreamReader As StreamReader = New StreamReader(My.Application.CommandLineArgs(0))
                Dim ligne As String

                'Lecture de toutes les lignes et affichage de chacune sur la page
                'Dim server, basereg, basecom, baseprint, user, psw, integrated As String
                Dim x As Integer = 0
                Do

                    ligne = monStreamReader.ReadLine()
                    If x = 0 Then
                        server = ligne.Substring(9)
                    ElseIf x = 1 Then
                        user = ligne.Substring(6)
                    ElseIf x = 2 Then
                        psw = ligne.Substring(12)
                    ElseIf x = 3 Then
                        basecom = ligne.Substring(20)
                    ElseIf x = 4 Then
                        basereg = ligne.Substring(19)
                    ElseIf x = 5 Then
                        integrated = ligne.Substring(12)
                    End If
                    x = x + 1
                Loop Until ligne Is Nothing

                instance.chaineReg = "Data Source=" & server & "Initial Catalog=" & basereg & "Integrated Security=True"
                instance.chaine = "Data Source=" & server & "Initial Catalog=" & basecom & "Integrated Security=True"
                instance.chainePrint = "Data Source=" & server & "Initial Catalog=" & baseprint & "Integrated Security=True"
                'Fermeture du StreamReader (attention très important)
                monStreamReader.Close()

                
            Catch ex As Exception
                'Code exécuté en cas d'exception
                MsgBox(ex.Message)
            End Try
        
        End If
    End Sub


dans ma classe j'ai une public sub nommé
"Stat_Pointeur()" et c'est le départ du problème car lorsque j'instancie ma classe avec :
dim instance as new class1


et que je fais appel à la public sub "stat_pointeur" comme ça:
instance.stat_pointeur


le programme me retourne "la propriété connectionstring n'a pas été initialisé".
Quelqu'un a une idée comment remédier à ce problème.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Utilisateur anonyme - 30 mai 2013 à 18:50
3
Merci
Par exemple :

sub new(byval machaine as string)
  chaine = machaine


ou :

public sub stat_pointeur(byval machaine as string)
cnx.connectionstring=machaine


ou :

Dim chaine as string = "...."


ou :
dim chaine as string
'...
sub new()
   chaine = ....
end sub

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 82 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
0
Merci
Bonjour joujma5.

Pourriez-vous donner le code de votre classe ?

Cordialement.

Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 30 mai 2013 à 18:02
0
Merci
public cnx as new sqlconnection
public chaineReg, chaine, chaineprint as string

public sub stat_pointeur()
cnx.connectionstring=chaine

try

cnx.open()


catch ex as exception
msgbox(ex)
end try
end sub
Commenter la réponse de joujma5
0
Merci
connectionstring est-elle une propriété de la classe sqlconnection ?


Étant illettré, je signe d'une croix : ×
Commenter la réponse de Zermelo
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 30 mai 2013 à 18:29
0
Merci
normalement oui
Commenter la réponse de joujma5
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 30 mai 2013 à 18:32
0
Merci
lors de l’exécution la chaine est vide c'est à dire ne reçoit rien.
alors que dans autre cas si je fais pas recours à une instanciation de la classe (instance.methode) ça marche sans problème!!
Commenter la réponse de joujma5
Utilisateur anonyme - 30 mai 2013 à 18:40
0
Merci
Salut,

C'est logique ta variable 'chaine' vaut Nothing lors de l'instanciation de ta classe. Il faut l'initialiser soit dans le constructeur de la classe, soit au niveau de sa déclaration, soit en passant une valeur en paramètre de ta sub.
Commenter la réponse de Utilisateur anonyme
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 30 mai 2013 à 18:45
0
Merci
comment ça banana32 ?
Commenter la réponse de joujma5
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 30 mai 2013 à 18:51
0
Merci
Merci
Commenter la réponse de joujma5

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.