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

C++Builder Discussion :

héritage de TDataSet


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Points : 36
    Points
    36
    Par défaut héritage de TDataSet
    bonjour

    je souhaite creer une class qui herite de la class TDataSet
    afin de pouvoir aulieu de lire mes données dans une base de donnés je le fait depuis un tableau passer en parametre.

    tous ce travail je el fait pour pouvoir afficher des données diretement dans une grille.

    ma question :
    je suis tout au debut et j'ai crée la

    class TMaClassDataSet : public TDataSet
    {
    } ;

    par la suite j'essai de creer un objet comme suit

    TDataSet *cc = new TMaClassDataSet();


    j'ai alors cette erreur:
    [C++ Error] TMaClassDataSet.cpp(14): E2251 Cannot find default constructor to initialize base class 'TDataSet

    quelqu'un a une idée sur le probleme

    avec mes remeciements

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 74
    Points : 62
    Points
    62
    Par défaut
    bonjour,

    pour les composants visuels, il n'y a pas toujours de constructeur par défaut.

    Essayes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TDataSet *cc = new TMaClassDataSet(NULL);
    NULL... ou this, si tu as besoin que ton cc récupère le TComponent* en paramètre du constructeur.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Points : 36
    Points
    36
    Par défaut
    Merci Seb pour vote reponse
    en fait j'ai fais ce que vous m'avez proposer et j'ai eu cette erreur


    [C++ Error] Test.cpp(21): E2285 Could not find a match for 'TMaClassDataSet::TMaClassDataSet(int)'

    je pense qu'il y a un probleme avec le constructeur

    voici le contenu de TMaClassDataSet.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    class TMaClassDataSet :  public TDataSet
    {
    private:	// User declarations
        AnsiString coucou;
     
     
    public:		// User declarations
           __fastcall TMaClassDataSet ();
     
           TGetResult __fastcall GetRecord(char * Buffer, TGetMode GetMode, bool DoCheck) ;
             void __fastcall InternalClose(void)  ;
             void __fastcall InternalHandleException(void) ;
             void __fastcall InternalInitFieldDefs(void) ;
             void __fastcall InternalOpen(void) ;
             bool __fastcall IsCursorOpen(void)  ;
    };
    Merci d'avance

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 74
    Points : 62
    Points
    62
    Par défaut
    et oui, il faut faire le constructeur qui va bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    __fastcall TMaClassDataSet (TComponent * AOwner)
    : TDataSet(AOwner)
    {}

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Points : 36
    Points
    36
    Par défaut
    ok merci
    je vais essayer avec ca

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 121
    Points : 36
    Points
    36
    Par défaut
    je viens d'essayer et effectivement j'ai plus la meme erreur

    mais j'en ai un autre packet d'erreurs

    [Linker Error] Unresolved external '__fastcall TMaClassDataSet::GetRecord(char *, Db::TGetMode, bool)' referenced from D:\Folder\TMaClassDataSet.OBJ

    [Linker Error] Unresolved external '__fastcall TMaClassDataSet::InternalClose()' referenced from D:\Folder\TMaClassDataSet.OBJ

    [Linker Error] Unresolved external '__fastcall TMaClassDataSet::InternalHandleException()' referenced from D:\Folder\TMaClassDataSet.OBJ

    [Linker Error] Unresolved external '__fastcall TMaClassDataSet::InternalInitFieldDefs()' referenced from D:\Folder\TMaClassDataSet.OBJ

    [Linker Error] Unresolved external '__fastcall TMaClassDataSet::InternalOpen()' referenced from D:\Folder\TMaClassDataSet.OBJ

    [Linker Error] Unresolved external '__fastcall TMaClassDataSet::IsCursorOpen()' referenced from D:\Folder\TMaClassDataSet.OBJ

    en fait ca correspond a toutes les fonctions virtual que je veux implementé dans TMaClassDataSet

    Merci pour votre aide

Discussions similaires

  1. [Postgresql]Héritage
    Par lheureuxaurelie dans le forum PostgreSQL
    Réponses: 13
    Dernier message: 02/10/2008, 10h18
  2. [Héritage] Vos commentaires....
    Par Fyna dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 03/05/2005, 23h10
  3. [XML Schemas]héritage multiple
    Par nicolas_jf dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/06/2003, 13h55
  4. [Postgres] Héritage + Clés
    Par k-reen dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 21/05/2003, 17h37
  5. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 18h44

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