PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → pointeurs et Transfert()
pointeurs et Transfert()
Started by Sébastien, Aug., 10 2004 8:59 PM - 3 replies
Posted on August, 10 2004 - 8:59 PM
Bonjour !

J'ai ce mutateur dans une classe qui me permet de changer la valeur de la
variable "tab".
tab contient un tableau dynamique d'objets MonObjet dynamique.

Cas 1:
PROCEDURE setTableau(tab)
:tab = tab

Cas 2:
PROCEDURE setTableau(tab)
:tab= allouer un tableau dynamique de dimension(tab) objet MonObjet dynamique
Transfert(&:tab, &tab, dimension(:tab))

Dans le Cas1, l'adresse de la variable :tab et celle de tab sont égales.
Dans le Cas2, il semblerait que le tableau tab n'est pas copié correctement.

En effet, si je manipule et traite les données par après, tout marche bien
avec le Cas1, mais dans le Cas2, on dirait qu'il manque des données (certaines
valeurs nulles), pourtant la source est la même pour les deux méthodes.

Merci de votre temps !

Sébastien
Posted on August, 11 2004 - 10:55 AM
Sébastien <no@spam.com> a écrit:

Bonjour !

J'ai ce mutateur dans une classe qui me permet de changer la valeur
de la variable "tab".
tab contient un tableau dynamique d'objets MonObjet dynamique.

Cas 1:
PROCEDURE setTableau(tab)
tab = tab

Cas 2:
PROCEDURE setTableau(tab)
tab= allouer un tableau dynamique de dimension(tab) objet MonObjet
dynamique
Transfert(&:tab, &tab, dimension(:tab))


Dans le Cas1, l'adresse de la variable :tab et celle de tab sont
égales.
Dans le Cas2, il semblerait que le tableau tab n'est pas copié
correctement.

En effet, si je manipule et traite les données par après, tout marche
bien avec le Cas1, mais dans le Cas2, on dirait qu'il manque des
données (certaines valeurs nulles), pourtant la source est la même
pour les deux méthodes.

Merci de votre temps !

Sébastien


Rassures-moi, le nom du tableau 'Tab', c'est un exemple ou bien c'est le nom
que tu utilises vraiment.
Parce que dans ce dernier cas, tu as un conflit entre un nom de tableau et
un nom de constante.

Eric.
Posted on August, 11 2004 - 6:01 PM
Le stockage en mémoire d'un tableau n'est pas forcément contigu, la fonction
transfer ne convient donc pas.

A+
florian26@ifrance.com

"Sébastien" <no@spam.com> wrote:


Bonjour !

J'ai ce mutateur dans une classe qui me permet de changer la valeur de la
variable "tab".
tab contient un tableau dynamique d'objets MonObjet dynamique.

Cas 1:
PROCEDURE setTableau(tab)
:tab = tab

Cas 2:
PROCEDURE setTableau(tab)
:tab= allouer un tableau dynamique de dimension(tab) objet MonObjet dynamique
Transfert(&:tab, &tab, dimension(:tab))

Dans le Cas1, l'adresse de la variable :tab et celle de tab sont égales.
Dans le Cas2, il semblerait que le tableau tab n'est pas copié correctement.

En effet, si je manipule et traite les données par après, tout marche bien
avec le Cas1, mais dans le Cas2, on dirait qu'il manque des données (certaines
valeurs nulles), pourtant la source est la même pour les deux méthodes.

Merci de votre temps !

Sébastien
Posted on August, 11 2004 - 6:08 PM
On dirait que mon message ne s'est pas formaté correctement, voici le bon
exemple:

Cas 1:
PROCEDURE setTableau(tab)
:tab = tab

Cas 2:
PROCEDURE setTableau(tab)
:tab= allouer un tableau dynamique de dimension(tab) objet MonObjet dynamique
Transfert(&:tab, &tab, dimension(:tab))

Et c'est juste un exemple, effectivement, j'utilise pas vraiment le nom "tab"
cest juste pour rendre plus générique, j'utilise pas "MonObjet" non plus
! :-)

Merci !

Sébastien

"Eric LAURENT" <laurent.systel@wanadoo.fr> wrote:

Sébastien <no@spam.com> a écrit:

Bonjour !

J'ai ce mutateur dans une classe qui me permet de changer la valeur
de la variable "tab".
tab contient un tableau dynamique d'objets MonObjet dynamique.

Cas 1:
PROCEDURE setTableau(tab)
tab = tab

Cas 2:
PROCEDURE setTableau(tab)
tab= allouer un tableau dynamique de dimension(tab) objet MonObjet
dynamique
Transfert(&:tab, &tab, dimension(:tab))


Dans le Cas1, l'adresse de la variable :tab et celle de tab sont
égales.
Dans le Cas2, il semblerait que le tableau tab n'est pas copié
correctement.

En effet, si je manipule et traite les données par après, tout marche
bien avec le Cas1, mais dans le Cas2, on dirait qu'il manque des
données (certaines valeurs nulles), pourtant la source est la même
pour les deux méthodes.

Merci de votre temps !

Sébastien

Rassures-moi, le nom du tableau 'Tab', c'est un exemple ou bien c'est le

nom
que tu utilises vraiment.
Parce que dans ce dernier cas, tu as un conflit entre un nom de tableau

et
un nom de constante.

Eric.