Bonjour,
dim Nrcc,Mrcc,epsh1,epsb1 as double
ne définit pas Nrcc et Mrcc comme double mais comme variant.
La syntaxe basic impose de donner le type de chaque variable séparément.
En fait :
dim Nrcc,Mrcc,epsh1,epsb1 as double
signifie :
dim Nrcc as variant, Mrcc as variant, epsh1 as variant, epsb1 as double
Il est donc déjà normal que en remplaçant
dim Nrcc,Mrcc,epsh1,epsb1 as double
par
dim Nrcc as double, Mrcc as double ,etc...
on puisse avaoir un comportement différent.
Pascal
----- Message d'origine -----
De: xavier roguiez <xr...@geo.hmg.inpg.fr>
Date: Mardi, Juin 9, 2009 10:46 pm
Objet: Re: [prog] Paramètres par référence
Bonsoir
Je me trouve confronté à un problème dont je ne comprends ni les
tenants ni les aboutissants;, est ce que quelqu'un peut m'aider ?
J'ai sorti l'ECM suivant :
option explicit
sub interaction_Rect()
dim Nrcc,Mrcc,epsh1,epsb1 as double
Nrcc=2: Mrcc=2
print Nrcc,Mrcc 'affiche 2 2 normal
EffC_Rect(Nrcc,Mrcc)
print Nrcc,Mrcc 'affiche 2 2 pas normal ?????????????????????
end sub
sub EffC_Rect(Nrc2 as double,Mrc2 as double)
Nrc2=10: Mrc2=10
end sub
Par contre si je modifie les déclarations d'entêtes à savoir :
dim Nrcc,Mrcc as double
En fait il faut modifier pour obtenir le bon résultat la
déclaration en
dim Nrcc as double
dim Mrcc as double
alors le comportement redevient normal...
print Nrcc,Mrcc 'affiche 2 2 normal
EffC_Rect(Nrcc,Mrcc)
print Nrcc,Mrcc 'affiche 10 10 normal !!!!!!!!!!!!!
Avez vous une idée ?
D'avance merci
xavier