FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
Copie de tableaux par référence et binding dans un champ table
Copie de tableaux par référence et binding dans un champ table
Débuté par Christophe PRADEL, 14 juin 2017 16:23 - 2 réponses
Connectez-vous…
Christophe PRADEL
#1
Membre enregistré
136 messages
Popularité : +12 (14 votes)
Posté le 14 juin 2017 - 16:23
Bonjour à tous,
Aujourd'hui, je voudrais soumettre à votre sagacité un problème que je rencontre dans l'exploitation du lien automatique d'un champ TABLE avec une variable de type "tableau d'objets"
Le contexte :
Je travaille avec une classe de base TClasseBase et des classes dérivées TClasseDeriveeA, TClasseDeriveeB, etc.
J'ai développé une fonction à laquelle on passe en paramètre un tableau "tabBase" d'objets TClasseBase, le type d'objet à créer, et divers autres paramètres.
Selon le type d'objet demandé, cette fonction remplit le tableau avec des instances d'objets TClasseDeriveeA par exemple
D'un autre côté, je veux exploiter le résultat dans un champ table.
Pour pouvoir lier les colonnes aux membres de ma classe TClasseDeriveeA, je n'ai pas pu lier le champ table directement au tableau "tabBase"
J'ai donc référencé un autre tableau "tabDeriveeA" d'objets TClasseDeriveeA dynamique que j'ai lié au champ table
Le problème
Pour alimenter le tableau tabDeriveeA, j'ai utilisé une affectation par référence : tabDeriveeA <- tabBase
J'ai pu alors en debug vérifier que le tableau tabDeriveeA apparaît bien rempli des mêmes objets que tabBase
Par contre, à l'affichage, mon champ table reste désespérément vide !
J'ai même essayé TableAffiche pour rafraîchir, mais sans succès
Si par contre j'utilise une affectation par copie (tabDeriveeA <= tabBase), alors le champ table est bien alimenté.
Le problème, c'est que je duplique les informations en gaspillant de la mémoire.
J'espère avoir été assez clair.
Si quelqu'un a une idée pour arriver à alimenter mon champ table sans dupliquer les objets et en gardant le tableau de base comme paramètre de ma fonction de remplissage...
Bon dév's
Christophe
Message modifié, 14 juin 2017 - 16:25
Signaler
0
0
Yann
#2
Membre enregistré
256 messages
Popularité : +29 (29 votes)
Posté le 14 juin 2017 - 16:52
Bonjour
Cette opération n'est pas disponible automatiquement.
Vous pouvez la faire "manuellement" grâce à une boucle pour remplir un tableau avec les références sur vos objets
tab
DeriveeA
est un tableau de
TClasseDeriveeA dynamique
POUR
TOUT
x
de
tab
Base
Ajoute
(
tab
DeriveeA
,x)
// prend une référence sur l'élément, pas de copie
FIN
Signaler
0
0
Christophe PRADEL
#3
Membre enregistré
136 messages
Popularité : +12 (14 votes)
Posté le 14 juin 2017 - 17:36
Merci Yann pour ta réponse qui me satisfait pleinement
J'y avais pensé, mais je croyais qu'en passant pas POUR TOUT, je dupliquais les objet et non les références.
Salutations
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte