PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → [WD 2026 SAAS] TableauCopie
[WD 2026 SAAS] TableauCopie
Débuté par Pierre-yves FEVRE, 31 déc. 2025 15:22 - Aucune réponse
Membre enregistré
59 messages
Posté le 31 décembre 2025 - 15:22
Bonjour à tous,

Dans un (nouveau) projet avec Windev 2026 et les options de compilations:
* Tableaux - comportement de l'affectation par l'opérateur "=": Copie du contenu du tableau source
* Classes - Gestion des classes et des objets: Mode référence (pré-version)

J'ai un objet:
CObjet est une Classe
m_sNom est une chaîne
FIN


Et une procédure:
Procedure test_tabCObjet()

tabMonTabCObjet est un tableau de CObjet
tabMonTabCObjet.Ajoute(allouer un CObjet)
tabMonTabCObjet.Ajoute(allouer un CObjet)
tabMonTabCObjet[1]:m_sNom = "tabMonTabCObjet"

tabMonAutreTabCObjet est un tableau de CObjet
tabMonAutreTabCObjet = tabMonTabCObjet
tabMonAutreTabCObjet[1]:m_sNom = "tabMonAutreTabCObjet"

tabMaCopieDeTabCObjet est un tableau de CObjet
TableauCopie(tabMonTabCObjet, tabMaCopieDeTabCObjet)
tabMaCopieDeTabCObjet[1]:m_sNom = "tabMaCopieDeTabCObjet"

tabMaCopieOkDeTabCObjet est un tableau de CObjet
tabMaCopieOkDeTabCObjet = allouer un tableau de 2 CObjet
tabMaCopieOkDeTabCObjet <= tabMaCopieDeTabCObjet
tabMaCopieOkDeTabCObjet[1]:m_sNom = "tabMaCopieOkDeTabCObjet"

Trace("ok?")


Je constate que les 3 derniers tableaux sont des références vers le tableau initial (tabMonTabCObjet): le premier élément de tous ces tableaux (m_sNom) = "tabMaCopieOkDeTabCObjet".

Donc, impossible de copier le tableau initial (tabMonTabCObjet) avec:
* = (opérateur de prise de référence si le tableau est dynamique, donc ce n'est pas logiquement une anomalie, sauf si on considère le paramètrage du projet)
* appel de la méthode TableauCopie !
* création d'un nouveaux tableau puis copie par l'opérateur <= !

Reproduisez vous ce problème?
Suis-je passé à côté de quelque chose ?

--
La complexité d'une solution doit être adaptée à la complexité du problème qu'elle essaye de résoudre.