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 :

petit pbm allocation dynamique de stringGrid


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2003
    Messages : 30
    Points : 25
    Points
    25
    Par défaut petit pbm allocation dynamique de stringGrid
    Youps, j'ai un ptt problème;

    en essayant d'allouer dynamiquement un TStringGrid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      TStringGrid *sg= new TStringGrid

    j'obtiens l'erreur suivante:
    could not find a match for 'TStringGrid::TStringGrid()'...

    la vcl est bien inclue dans le projet...

    Merci

    Anne Olga
    On apprend vite sur ce forum: MERCI A TOUS

  2. #2
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TStringGrid *sg= new TStringGrid(this)
    this = ta fiche

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2003
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Ben j'avais aussi essayé avec les parenthèses... là j'obtiens: could not find a match for 'TStringGrid::TStringGrid()'

    en chinois on dit zhen qiguai! (très bizarre)

    A
    On apprend vite sur ce forum: MERCI A TOUS

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Met un stringgrid sur ta fiche et fais un new TStringGrid(this);

    chez moi sa passe :s

  5. #5
    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
    ou aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TStringGrid *sg= new TStringGrid (NULL)
    ///...
    delete sg;
    seb

  6. #6
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 030
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 030
    Points : 8 202
    Points
    8 202
    Par défaut
    Dans le fichier entête de la fiche ex Unit1.h mettre :

    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2003
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Merci des réponses...

    CGi: J'avais bien l'entête <Grids.hpp>
    Seb:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TStringGrid *sg= new TStringGrid (NULL)
    me donne le message suivant:
    [C++ Error] SimulationsSettingsFm.cpp(289): E2015 Ambiguity between '_fastcall Grids::TStringGrid::TStringGrid(Classes::TComponent *)' and '_fastcall Grids::TStringGrid::TStringGrid(void *)'

    (??)

    Quant à l'idée d'ajouter un TStringGrid sur la feuille puis de l'allouer, j'avoue ne pas voir l'intérêt



    Bon week end à tous

    Anne
    On apprend vite sur ce forum: MERCI A TOUS

  8. #8
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 030
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 030
    Points : 8 202
    Points
    8 202
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TStringGrid *sg= new TStringGrid ((Classes::TComponent *)NULL);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TStringGrid *sg= new TStringGrid (this);
    Les deux fonctionnent, j'ai testé.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2003
    Messages : 30
    Points : 25
    Points
    25
    Par défaut


    Super et merci!

    As-tu une explication? que je puisse aller méditer sur les pistes...

    Anne

    On apprend vite sur ce forum: MERCI A TOUS

  10. #10
    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
    désolé je n'avais pas testé le code proposé.
    j'ai essayé sous bcb4 et bcb6 : même erreur du compilateur.

    Je crois que l'explication vient de la déclaration du constructeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    __fastcall virtual TStringGrid(Classes::TComponent* AOwner);
    un pointeur de Classes::TComponent* est attendu.
    et même s'il vaut NULL il faut transtyper pour indiquer au compilateur que c'est bien un pointeur du type attendu...

    bon week end
    seb

  11. #11
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 030
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 030
    Points : 8 202
    Points
    8 202
    Par défaut
    Il existe un constructeur avec comme paramêtre un pointeur void ou l'on transmet un handle de fenêtre.
    Donc le compilateur ne sait pas lequel choisir quand on met le paramêtre NULL.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/09/2006, 00h47
  2. probleme d'allocation dynamique
    Par vince3320 dans le forum C
    Réponses: 10
    Dernier message: 22/04/2004, 16h27
  3. Allocation dynamique de structures
    Par fr_knoxville dans le forum C
    Réponses: 8
    Dernier message: 06/05/2003, 21h59
  4. Allocation dynamique de mémoire en asm
    Par narmataru dans le forum Assembleur
    Réponses: 7
    Dernier message: 17/12/2002, 22h31
  5. Réponses: 4
    Dernier message: 03/12/2002, 16h47

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