IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Erreur du designer avec héritage d'une classe abstraite


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Homme Profil pro
    Activité
    Inscrit en
    Juillet 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Activité

    Informations forums :
    Inscription : Juillet 2005
    Messages : 94
    Points : 88
    Points
    88
    Par défaut Erreur du designer avec héritage d'une classe abstraite
    Bonjour!

    J'ai un problème avec le designer de VS.NET. Voilà, j'ai ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public abstract class DataForm : Form
    {
        protected int _valeur = 1;
        public abstract void Edit();
    }
     
    public partial class Repertoire: DataForm
    {
        public override void Edit()
        {
            _valeur++;
        }
    }
    Quand je vais dans le designer de ma form Repertoire, j'obtiens cette erreur:
    The designer must create an instance of type 'Project.DataForm' but it cannot because the type is declared as abstract.
    Pourtant, quand j'exécute le programme, tout fonctionne parfaitement. Me suis-je trompé dans l'utilisation des classes abstraites, ou y a-t-il un moyen simple de déjouer le designer? Merci pour toute aide!

  2. #2
    Membre régulier
    Homme Profil pro
    Activité
    Inscrit en
    Juillet 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Activité

    Informations forums :
    Inscription : Juillet 2005
    Messages : 94
    Points : 88
    Points
    88
    Par défaut
    Alors, c'est la débandade?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    423
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 423
    Points : 188
    Points
    188
    Par défaut
    Salut

    Vu le message d'erreur, je pense que tu tente d'instancier ta classe abstraite, ce qui n'est pas possible si je ne me trompe pas

  4. #4
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Citation Envoyé par Xzander
    Pourtant, quand j'exécute le programme, tout fonctionne parfaitement. Me suis-je trompé dans l'utilisation des classes abstraites, ou y a-t-il un moyen simple de déjouer le designer? Merci pour toute aide!
    Y'a un moyen : il ne faut pas utiliser le designer.
    Il est très mauvais.

  5. #5
    Membre régulier
    Homme Profil pro
    Activité
    Inscrit en
    Juillet 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Activité

    Informations forums :
    Inscription : Juillet 2005
    Messages : 94
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par JuTs
    Vu le message d'erreur, je pense que tu tente d'instancier ta classe abstraite, ce qui n'est pas possible si je ne me trompe pas
    Érangement, c'est la classe repertoire que je veux instancer, la classe abstraite ne fait a peu près rien... En fait, ma vraie classe abstraite n'a qu'une ou deux méthodes et impose l'implémentation de 4 méthodes, ce que je fais.

    Le seule moyen que j'ai trouvé, c'est de changer DataForm: au lieu que ça soit une classe abstraite, c'est une classe ordinaire qui implémente une interface. Ensuite je dérive repertoire de DataForm et le tour est joué! Du moins je crois... il reste à tester. Mais comme le dit Mose, le mieux, c'est de designer la form, pour ensuite ignorer le designer et terminer en faisant du beau code.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/10/2012, 19h25
  2. Réponses: 4
    Dernier message: 27/09/2012, 17h37
  3. héritage d'une classe abstraite
    Par new_wave dans le forum Langage
    Réponses: 8
    Dernier message: 04/03/2010, 12h54
  4. Problème d'héritage avec une classe abstraite
    Par Ph.denis dans le forum C++
    Réponses: 7
    Dernier message: 22/03/2008, 10h37
  5. Conception: héritage d'une classe abstraite
    Par Kikito dans le forum Langage
    Réponses: 19
    Dernier message: 05/10/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo