Message de rapport:
 

Re: Manipulation par adresse

Sujet: Re: Manipulation par adresse
par drcharly93 sur 26/6/2004 1:02:39

Salut,

J'ai déjà répondu à ce type de question dans un précédent post.

En Windev les paramètres sont passés par référence, cela signifie que c'est l'objet qui est passé en paramètre qui est modifié.

pour le passer par valeur cela veut dire que l'on ne veut pas que les modifications apporté sur l'objet passé en parammètre ne soit modifié il suffit de mettre le paramètre entre parenthèse.

Passage de paramètres

Lors de l'appel d'une procédure, les paramètres peuvent être :

passés par variable (par adresse). Si le paramètre est modifié dans la procédure, le traitement appelant la procédure récupérera le paramètre avec sa valeur modifiée. Pour passer un paramètre par variable à une procédure, utilisez la syntaxe suivante :

<Nom de la procédure>(<Nom de la variable passée en paramètre>)


passés par valeur. Si le paramètre est modifié dans la procédure, le traitement appelant la procédure récupérera le paramètre avec sa valeur NON modifiée. Pour passer un paramètre par valeur à une procédure, utilisez la syntaxe suivante :
<Nom de la procédure>((<Nom de la variable passée en paramètre>))


Donc pour moi le seul cas qui peut provoquer ce type de fonctionnement serait une programmation du type

Procedure MaFonction(pObjet)
oObj est un Objet MonObjet

oObj = pObjet


Cette méthode permet d'avoir la liste des méthodes et des membres de la classe en programmation mais ne modifie que l'objet en local oObj et pas pObjet.
On a ici en faite une copie de l'objet passé en paramètre

Pour appliquer les modifications apportées à l'objet oObj vers l'objet pObjet il faut faire une ré-affectation :
pObjet = oObj

Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2