Bonjour,
Je cherche à créer une classe avec plusieurs constructeurs différents (selon les paramètres passés en argument). Après plusieurs tentatives cela ne semble pas possible... Est-ce exact?
Merci d'avance pour votre aide!
Bonjour,
Je cherche à créer une classe avec plusieurs constructeurs différents (selon les paramètres passés en argument). Après plusieurs tentatives cela ne semble pas possible... Est-ce exact?
Merci d'avance pour votre aide!
Bonjour
Ce n'est pas possible
A toi de gérer les différents cas dans le constructeur
Pascal H.
phapps.e-monsite.com
Tu peux tricher en créant des fonctions à la place des constructeurs.
Merci pour vos indications... Je vais réfléchir entre les deux propositions.
C'est quand même dommage, ça faciliterait le code de travailler avec plusieurs constructeurs! Je suis étonné aussi par le fait que de même on ne peut pas surcharger une fonction...
Quand même pour être sur, dans l'aide de windev (POO, Héritage), je lis
mais en dessous"La classe InfoFichier hérite de la classe Fichier. Ces deux classes ont une méthode Affiche. La méthode Affiche de la classe Fichier est utilisée par la méthode Affiche de la classe InfoFichier."
Les majuscules pour le deuxième AFFICHE c'est un autre contournement pour ne pas avoir le même nom où cela fonctionne sans ?dans Classe Fichier
PROCEDURE AFFICHE()
et dans Classe InfoFichier
PROCEDURE Affiche()
Windev n'est pas "case sensitive" donc, AFFICHE = affiche
Bonsoir
La surcharge de méthode fonctionne sans problème.
Il faut déclarer que la méthode soit de type type "virtuelle"
Pascal H.
phapps.e-monsite.com
Apparement, même pas besoin d'écrire "virtuelle" car WinDev le met implicitement dans le cas d'une surcharge de fonction.
Les trucs "implicites" il vaut mieux s'en méfier...
Il n'est pas dit que la version suivante réagisse de la même manière, et hop.. des bugs en perspective !
Ouais enfin s'ils commencent à enlever des fonctionnalités utiles de WinDev pour la POO, il n'y aura vite plus rien
Patrick Catella
Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.
Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition
Ca remonte à la version 5, certes, mais j'en garde un mauvais souvenir
Un truc qui marchait en Windev 5 et qui ne marchait plus en 5.5 sans prévenir, car c'était un soit disant un "bug" de la 5 !
Ca concernait les zones mémoires et les variables composées.
On pouvait placer une variables composées dans une zone mémoire en utilisant "Transfert" ! Quelque soit la structure de la variable composée et de son contenu.
En 5.5, si la variable contenait un entier ayant pour valeur 0, ça ne plantait pas (non pas assez vicieux, ça ), ça renvoyait la variable correcte, jusqu'au numérique, puis des espaces ou des 0 pour le reste !
Quand on s'en ai aperçu (250 clients dans la panade sur des bouts de logiciels non modifiés... ) on a prévenu PCSoft, qui nous a gentiment fais savoir, que si ça fonctionnait en version 5, c'était du a un bug ! Et qu'ils l'avaient corrigé !
Alors depuis... méfiance !
Bonjour,
Là c'est fait !!! (j'utilise WD17)
1. Dans l'explorateur de projet, sélectionnez le constructeur.
2. Affichez le menu contextuel du constructeur et choisissez l'option "Ajouter une syntaxe".
3. Modifier les param de chaque version du constructeur
4. pour plus d'explication voir images jointes
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager