Trucs et astuces : [WD7] Probleme d'heritage sur les classes
Posté par Anonyme le 4/7/2002 10:00:00 (1377 lectures) Articles du même auteur
Trucs et astuces

Un Gros Probleme non résolu sur WinDev 7

Il existe un gros probleme sur l'héritage des classes avec WinDev 7. Si on défini une classe ancètre, et deux classes héritées et que dans ces 2 classes héritées il y ai un membre portant le même nom. Le problème est que l'instanciation des 2 classes héritées n'est pas faite et on ne peut pas accéder aux membres cités ci dessus. WinDev nous en montre 1 seul et la syntaxe moninstanceA::MaclasseC:Monmenbre n'est pas acceptée. Nous en avons parlé a PCSoft.



On peut resoudre le probleme d'une façon simple, mais assez bizarre en attendant la résolution du problème et ne pas changer le code écrit le jour ou cela se produira. je vais vous montrer ça par un exmple :

B est une classe
   BB est une chaine
   Y  est une chaine
fin

C est une classe
   BB est une chaine
   Z  est une chaine
fin

A est une classe
  un objet B
  un objet C
fin


Voila les classe B et C sont hérités de A et ont un mêmbre portant le même nom. Théoriquement je dois pouvoir faire sans problème (ou j'ai rien compris a la programmation objet) :
essai est un objet A
essai:Y = "coucou B"  // la pas de probleme
essai:Z = coucou c"   // la non plus pas de probleme
essai:BB = "Coucou les 2" // c'est la que ca commence .....

Dans BB j'ai parfois n'importe quoi ou alors, je ne peux distinguer le BB de B et le BB de C
et la syntaxe essai::B:BB n'est pas acceptée (normalement c'est comme ca que je peux les distinguer).
Voila ça c'était le bug.

Pour contourner ça j'ai trouvé une solution, assez bizarre je l'avoue et pas testée a fond pour savoir si ca plante à un moment. Et en plus windev ne dit rien.
Il suffit de faire :
A est une classe
   B est un objet B
   C est un objet C
fin
// rien que la syntaxe me faire rire

Du coup on peut faire : essai:B:BB = "coucou B" , essai:C:BB="coucou C" mais on ne peut plus faire essai:BB = "coucou" (ce qui est l'interêt principal de l'héritage avec des membres communs : affecter d'un seul coup tous les membres ayant ce nom.

Voila en attendant le résultat...

bon dev
@+

Firetox



Autres articles
2/6/2015 19:00:00 - WDForge 2.0 est disponible !
7/1/2014 11:10:00 - WDForge
30/9/2009 11:30:00 - Un analyseur d'objets externes
16/4/2009 18:37:49 - Convertisseur de base HyperFile vers XML
22/4/2008 23:04:01 - WLSCRIPT - Ligne de commande Linux

Connexion
Menu
Sujets d'Articles
Top Articles
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2