Bonjour,

Effectivement, la transmission d'un tableau comme paramètre se fait 
systématiquement par référence.
Cette observation est valable quelque soit le type de tableau et le nombre de 
dimensions.
Je ne pense pas que passer un tableau par valeur ai réellement un sens car cela 
impliquerait de copier l'ensemble des valeurs de ce tableau, ce qui pourrait 
être très gourmand en ressources.
De plus il est fort probable que l'accès à un élément du tableau se fasse à 
partir de la référence du premier élément, rendant ainsi indispensable le 
passage par référence.

Cordialement,

T. Vataire


----- Mail Original -----
De: "xavier roguiez" <x...@geo.hmg.inpg.fr>
À: prog@fr.openoffice.org
Envoyé: Dimanche 14 Juin 2009 15h23:50 GMT +02:00 Harare / Pretoria
Objet: [prog] Tableau dans un procédure

Bonjour

Je dois encore commettre une boulette évidente, mais je ne vois pas.

Je tente de passer un tableau à 2 dimensions en argument par valeur. 
J'ai testé sur un ECM le problème me concernant (p125 Programmation OO 
par l'exemple)

Sub Main()
dim tata(5,2) as double
tata(1,0)=123
tata(2,1)=-5.7
tata(3,2)=pi
manipulerTableau (tata())
end sub

sub manipulerTableau(byval v() as double)
print UBound(v,1), UBound(v,2), v(3,2)

End Sub

La seule différence par rapport au code de départ est le byval de la 
sous procédure d'appel manipulerTableau, je l'ai finalement enlevé et ça 
fonctionne, dans le cas contraire, j'ai un
    variable d'objet non définie erreur d'exécution basic
dont je ne comprends pas l'origine. On ne peut pas passer un tableau à 
double dimensions par valeurs ?

Avez vous l'explication ?
xavier

---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org


---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org

Répondre à