PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2025 → Propriétés dans les classes héritées sous WinDev Mobile sur Android
Propriétés dans les classes héritées sous WinDev Mobile sur Android
Débuté par Marc, 24 fév. 2026 19:08 - Aucune réponse
Membre enregistré
24 messages
Posté le 24 février 2026 - 19:08
Bonjour,

Je souhaite informer la communauté d'un bug confirmé par le support PCSoft concernant la redéfinition des propriétés dans les classes héritées sous WinDev Mobile sur Android.

⚠️ Ce bug est confirmé par le support PCSoft depuis mars 2024.
Références incidents : 698187 / 725722

**Problème**

Lorsqu'une classe fille C2 redéfinit une propriété P déjà présente dans la classe mère C1, c'est toujours C1.P qui est exécutée sur Android, (iOS marche bien) même quand on appelle la propriété sur une instance de C2. La redéfinition dans la classe fille est totalement ignorée.

Exemple :

// Classe mère C1
PROPRIETE P
// implémentation mère
FIN

// Classe fille C2 hérite de C1
PROPRIETE P // redéfinie dans C2
// Ce code n'est JAMAIS exécuté sur Android !
FIN

// Utilisation
monObjet est un C2
monObjet.P = 1 // Exécute C1.P au lieu de C2.P sur Android
if monObjet.P then // Exécute C1.P au lieu de C2.P sur Android
fin

**Comportement observé**
Sur Windows : C2.P est correctement appelée.
Sur Android : C1.P est toujours appelée, la redéfinition dans C2 est ignorée.

Le dispatch polymorphique des propriétés ne fonctionne pas sur Android. Aucune erreur n'est levée, ce qui rend ce bug particulierement difficile à détecter.

**Contournement obligatoire**

Remplacer la syntaxe de propriété par des méthodes explicites :

// Au lieu de :
monObjet.P = 1
if monObjet.P then

// Utiliser :
monObjet.P(1)
if monObjet.P() = 1 then

**Recommandation pour vos architectures**

Ayant confirmé avec le support que ce bug ne sera pas corrigé à moyen terme, je recommande chaudement d'adapter dès maintenant vos architectures :
- Ne pas utiliser la redéfinition de propriétés dans les classes filles pour les projets Android
- Remplacer systématiquement par des méthodes explicites (syntaxe avec paramètre et parentheses)
- Auditer le code existant pour identifier tous les cas concernés

**Impact**
Toute architecture objet utilisant l'héritage avec redéfinition de propriétés est affectée sur Android. Les conséquences sont silencieuses et peuvent générer des comportements erronés très difficiles à diagnostiquer.

J'espère que ce retour d'expérience vous évitera de perdre du temps sur ce problème.

Bonne continuation.