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
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2003
    Messages : 30
    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

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

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 30
    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

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

    chez moi sa passe :s

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 74
    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;

  6. #6
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    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
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2003
    Messages : 30
    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

  8. #8
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    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
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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


    Super et merci!

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

    Anne


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

    Informations forums :
    Inscription : Avril 2002
    Messages : 74
    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

  11. #11
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    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, 01h47
  2. probleme d'allocation dynamique
    Par vince3320 dans le forum C
    Réponses: 10
    Dernier message: 22/04/2004, 17h27
  3. Allocation dynamique de structures
    Par fr_knoxville dans le forum C
    Réponses: 8
    Dernier message: 06/05/2003, 22h59
  4. Allocation dynamique de mémoire en asm
    Par narmataru dans le forum Assembleur
    Réponses: 7
    Dernier message: 17/12/2002, 23h31
  5. Réponses: 4
    Dernier message: 03/12/2002, 17h47

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