FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV (précédentes versions)
→
[WD22] Databinding et polymorphisme
[WD22] Databinding et polymorphisme
Débuté par Geoffrey ZIMMERMANN, 28 sep. 2018 15:42 - 2 réponses
Connectez-vous…
Geoffrey ZIMMERMANN
#1
Membre enregistré
28 messages
Popularité : +1 (1 vote)
Posté le 28 septembre 2018 - 15:42
Bonjour à tous,
Je me retrouve face à un problème. J'aimerai faire un databinding d'une propriété d'une classe fille. Je m'explique :
C
Mère
est une
classe
,
abstraite
PRIVÉ
m_s
Nom
est une chaîne
// Propriété générée : Nom() et Nom(Valeur est une chaine)
FIN
C
Enfant
est une
classe
hérite de
C
Mère
PRIVÉ
m_s
Prénom
est une chaîne
// Propriété générée : Prénom() et Prénom( Valeur est un chaine)
FIN
Dans l'initialisation de ma fenêtre :
Procedure MaFenêtre
(
)
gcl
Enfant
est un objet
C
Mère
dynamique
gcl
Enfant
=
allouer un
C
Enfant
Bien sûr, lorsque je veux faire la liaison dans un champ, il ne trouve que la propriété de la classe CMère, donc CMère.Nom mais pas CMère.Prénom. Et c'est logique.
Par contre, j'ai testé ça:
// Initialisation de sai_prénom:
MoiMême
..
LiaisonFichier
=
":gclEnfant.Prénom"
Là j'ai le droit à une belle erreur n° 1102:
Erreur de liaison sur le champ source <sai_prénom>.
La propriété 'Prénom' est interdite sur une variable de type 'CMère dynamique'.
Si une aimable âme peut venir à mon aide, Il serait le bien venu.
--
(\ _ /)
(='.'=)
(")-(")
Signaler
0
0
Philippe SB
#2
Membre enregistré
2 571 messages
Popularité : +222 (260 votes)
Posté le 28 septembre 2018 - 16:54
Bonjour,
Pour moi l'erreur que tu as est tout à fait logique. Le fait d'allouer à la mère une instance d'une classe dérivée ne rajoute pas la propriété à la classe mère.
La propriété Prénom, n'existe bien que dans la classe fille.
--
Cordialement,
Philippe SAINT-BERTIN
Signaler
1
0
Geoffrey ZIMMERMANN
#3
Membre enregistré
28 messages
Popularité : +1 (1 vote)
Posté le 28 septembre 2018 - 17:48
Bonjour Philippe,
Autant pour moi, j'ai buté dessus toute la journée en pensant que je faisais comme ça dans d'autre langage, mais j'ai complétement zappé le principe de base à savoir que c'est les enfants qui hérite du parent et pas l'inverse! Je vais revoir tout ça à tête reposé.
Merci bien l'ami!
--
(\ _ /)
(='.'=)
(")-(")
Signaler
0
0
→ Revenir à WINDEV (précédentes versions)
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