PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Prise de référence de champ ( "<-")
Prise de référence de champ ( "<-")
Iniciado por THEWORLDASGARP, 03,may. 2019 15:03 - 2 respuestas
Miembro registrado
91 mensajes
Publicado el 03,mayo 2019 - 15:03
Bonjour

Windev - manipulation de champs

Quelqu'un a t-il déjà travaillé sur le stockage de champ ?

Imaginons que j'ai une table dans une fenêtre avec x colonnes, chacune des colonne ayant des données.


Quelque part dans mon code, j'ai l'instruction :

:Champ <-_ChmValue

":Champ" est un membre de ma classe, "_ChmValue" un paramètre de type champ

L'instruction "<-" récupère bien TOUS les attributs du champs , y compris sa ou ses valeurs ?


Merci pour votre aide.
Miembro registrado
2 mensajes
Publicado el 10,mayo 2019 - 17:45
Je ne sais pas si c'est exactement ce que tu cherches à faire, mais enregistrer des (référence vers ) champs dans une classe pose problème lors de l'affection d'une nouvelle valeur dans une propriété, à cause de l'utilisation de l'opérateur "=" : on définie une nouvelle ..valeur pour le champ, au lieu de directement manipulé le champ lui même.

J'ai contourné le problème en utilisant des méthode pour manipuler le membre dans lequel je stocke un champ :
clChampOngletRecherche est une Classe

_champAssocié est un Champ


Procedure Constructeur(champOngletCiblé est un Champ)
:affecteChampAssocié(champOngletCiblé)
FIN

Procedure affecteChampAssocié(pChampAssocié est Champ)

QUAND EXCEPTIONEXCEPTION DANS

SI pChampAssocié..Type <> typOnglet ALORS
ExceptionDéclenche(1, "la classe [%:_logName%] ne peut être utilisée qu'avec un champ de type onglet.")
FIN

:_champAssocié <- pChampAssocié
FAIRE
ExceptionPropage()
FIN
Miembro registrado
91 mensajes
Publicado el 25,mayo 2019 - 14:25
Bonjour ,

Merci pour ta réponse.

Mon idée à travers la prise de référence est de pouvoir récupérer les données.

Je pensais faire un "<=" pour faire une copie du champ, mais cela ne fonctionne pas.

Je manipule par exemple un champ table dans une fenêtre : je transfère ce champ à une méthode de classe et j'aimerais que le membre de ma classe qui reçoit ce champ récupère en même temps les données : les colonnes, les données de chaque colonne, etc....

Je pense pour l'instant que cela n'est pas encore possible.

Une petite question . a quoi sert l'instruction :
ExceptionPropage()


J'au regardé l'aide , mais j'avoue que n'ai pas compris.


Merci pour ton/vos retour(s).

Cdt