therafou
Messages postés46Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention10 juin 2007
-
11 mai 2007 à 09:20
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024
-
11 mai 2007 à 11:45
Bonjour,
j'ai une class qui me crée un tableau avec à l'intérieur une structure définit dans ma class.
Le tableau est en public Shared donc je peux y avoir accès depuis l'intérieur de la class.
Quand je fais:
Msgbox(maclass.montableau.count)
Il me retourne bien le nombre d'éléments excacte
et quand je veux accèder aux données y a pas moyen.
Voilà la class, elle va lire un fichier xml pour y extraire les infos dans un tableau.
Imports System.IO
Public Class Class_info
' On définit le chemin et le nom du fichier
Private Shared XMLFile_info As String = "info.xml"
' Définition de la structure des renseignements
Public Structure info_struct
Dim name As String
Dim address As String
Dim statut As Integer
Dim ip As String
Dim time As Integer
End Structure
' Définition du tableau qui contient les infos
Public Shared info_tmp As info_struct
Public Shared info As New ArrayList
'Public Shared Sub load_config(ByVal XMLFile_config As String, ByVal final_config As config)
Public Shared Sub load_info()
' on crée l'objet XMLFile
Dim xFile As New XMLFile()
' On teste si le fichier de configuration existe à la racine de l'application
If File.Exists(Application.StartupPath & "" & XMLFile_info) Then
' Ouverture du fichier XML
xFile.OpenFile(Application.StartupPath & "" & XMLFile_info)
' Initialisation de la valeur Drapeau I
Dim i As Integer
' Commence de la boucle pour extraire les informations du fichier XML
For i = 0 To xFile.GetCountElements("servers", "server") - 1
info_tmp.name = xFile.GetElementValue("servers/server", "name", i)
info_tmp.address = xFile.GetElementValue("servers/server", "address", i))
info.Add(info_tmp)
Next i
End If
' on ferme le fichier pour ne perdre de resource
xFile.CloseFile()
End Sub
End Class
En gros y faut que je sache consulter mon tableau depuis l'extétieur de ma class. Mais je bloque sur un problème.
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 11 mai 2007 à 10:39
Bonjour
D'abord quelques questions :
Pourquoi public shared sur le ArrayList ?
Pourquoi """"""" """""""" sur Info_Tmp ?
Pourquoi avoir déclarer info_tmp en attribut et pas en local ?
Quel code tu utilises pour accéder à ton tableau ?
En avance :
Tu peux déclarer ton tableau en private shared puis utiliser une propriété pour y accéder (interfaces IList et IEnumerable).
Ton info_tmp en local dans load_info et ça ira peu-être mieux.
Il est plus facile de batiser quelqu'un que de le convertir.(surtout en programmation)
VB (6, .NET1&2), C++, C#.Net1
Mon site