Bonjour,
Je ne sais pas si mon titre est très explicite, mais je vais expliquer ce que je compte faire.
J'ai créé une classe qui contient les coordonnées d'un point (Est, Nord, Altitude). J'essaye de créer une propriété accessible en lecture et écriture qui me permette de récupérer directement un tableau de 3 double contenant les coordonnées et la propriété inverse qui permette de compléter ma classe avec un array équivalent.
Voilà le code de ma classe :
La propriété Get fonctionnne très bien.
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 Private mEast As Double Private mNorth As Double Private mElevation As String ' Coordinates Property Get Coordinates() As Double() Dim coord(1 To 3) As Double coord(1) = mEast coord(2) = mNorth coord(3) = mElevation Coordinates = coord End Property Property Let Coordinates(Coordinates() As Double) mEast = Coordinates(1) mNorth = Coordinates(2) mElevation = Coordinates(3) End Property
Par contre la propriété Let ne fonctionne pas.
Le code ci-dessus me renvois l'erreur : "Impossible d'affecter à un tableau"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim pt1 As New cPoint Dim toto(1 To 3) As Double pt1.Coordinates = toto
Dans mes recherches, j'ai cru comprendre qu'il n'est pas possible de passer un tableau en paramètre de Property Let, mais ce n'est pas très clair pour moi. Est-ce quelqu'un me confirme cela ? Sinon quelle est l'erreur ?
La solution que j'ai trouvé serait d'utiliser un Sub à la place de Let, mais dans ce cas là, je ne peux pas garder le même nom entre Get et Sub, ce qui est dommage pour moi.
Merci d'avance
Partager