Bonjour,
Le besoin est de gérer une classe qui utilise un tableau d'une autre classe.
On définit une classe "VM" (=serveur virtuel) dont un type "Interface" est un tableau d'objet de type "NetworkInterface" (il y a plusieurs interfaces par serveur).
La solution en déclarant des "Types" imbriqués fonctionne, mais ne permet pas d'affecter l'objet "VM" à un Dictionnaire; cette solution ne répond donc pas au besoin;
=> Pour utiliser les méthodes Dictionnaires (.exist..), il me faut utiliser une classe (sauf erreur).
Le problème semble être dans la déclaration du tableau dans la classe, et l'affectation ...
Avant d'abandonner la solution, je souhaiterai un avis d'expert.. merci d'avance !!
Classe NetworkInterface_Class
=======================
Classe VM_Class
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 Option Explicit Private mVLAN As String Private mIP As String Property Get IP() As String IP = mIP End Property Property Let IP(IP As String) mIP = IP End Property Property Get VLAN() As String VLAN = mVLAN End Property Property Let VLAN(VLAN As String) mVLAN = VLAN End Property
==============
#Erreur_Compilation#=" Les définitions des procedures de propriétes pour la meme propriété sont incohérentes..."
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 Option Explicit Private mNom As String Private mInterface() As NetworkInterface_Class '() As NetworkInterface_Class Property Get Nom() As String Nom = mNom End Property Property Let Nom(Nom As String) mNom = Nom End Property Property Get Interface() As NetworkInterface_Class() Set Interface = mInterface End Property Property Set Interface(ByRef NewInterface () As NetworkInterface_Class) => Comment déclarer letableau : #Erreur_Compilation# Set mInterface = NewInterface End Property
Code appelant
==========
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim VM As New VM_Class .... ' la cible serait l'affectation : VM.interface(NumInt).IP= "192.168.1.1" VM.interface(NumInt).VLAN = "Mgmt"
Partager