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 :

Instancier une TForm


Sujet :

C++Builder

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par d�faut Instancier une TForm
    Bonjour

    J'ai une applicatication MDI , donc plusieurs feuilles
    Une seule est cr�e automatiquement ( Mon choix perso qu'en pensez vous? ) , les autres �tant cr�es de la facon suivante suite a un clic sur TButton ...

    J'ai cependant l'impression qu'avec cette methode , la nouvelle feuille instanci�e , est instanci�e sur l'adresse de l'ancienne ...
    Comment je dois faire ? Tableau de TForm dynamique ( je sais pas faire ... ) ?

    .h
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class TF_test;
    class TF_accueil : public TForm
    {
    __published:	// Composants gérés par l'EDI
    // etc ......        
    public:		// Déclarations de l'utilisateur
            __fastcall TF_accueil(TComponent* Owner);
            //  etc .......
    protected :  // Déclarations de l'utilisateur
                 TF_test *F_test;  
    };
    .cpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    F_test = new TF_test(this); 	//Création de la fiche
    help me

  2. #2
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    Oui, la forcement, as chaque clic tu perd l'ancienne fiche, en effet un tableau serait le bien venu, je pencherai m�me pour un std::vector.

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par d�faut
    Dsl je sais pas ce que c'est je suis inculte ^^

  4. #4
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    76
    D�tails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 76
    Par d�faut
    Petite pr�cition vu ton code tu cr�� effectivement la nouvelle par dessus l'ancienne ... sans jamais lib�r� la m�moire alou� a l'ancienne ... y'a pas bon tout ca.

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par d�faut
    Si si je la libere jai juste pas mis le code
    Bon jai regard� vite fait std::vector jvai voir ske je peux faire avant de vous demander la reponse

  7. #7
    Membre �m�rite
    Inscrit en
    Juillet 2005
    Messages
    512
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par d�faut
    Une fiche enfant peut ce lib�rer d'elle m�me.

    Il suffit de mettre dans l'evenement OnClose : Action = caFree;

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
    {
            Action = caFree;
    }
    Citation Envoy� par Aide BCB
    caFree La fiche est ferm�e et toute la m�moire allou�e � la fiche est lib�r�e.
    Donc si tu n'as pas besoin du pointeur, tu peut le laisser perdre, la memoire sera tout de m�me lib�r�e � la fermeture de la fiche.

  8. #8
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par d�faut
    je savais deja ca , le probleme cest quon ferme pas forcemment la feuille avant de creer la nouvelle

  9. #9
    Membre �m�rite
    Inscrit en
    Juillet 2005
    Messages
    512
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par d�faut
    �a change rien, quand tu fermera ta fiche elle ce liberera.

    Citation Envoy� par Pugebad
    J'ai cependant l'impression qu'avec cette methode , la nouvelle feuille instanci�e , est instanci�e sur l'adresse de l'ancienne ...
    Non, la nouvelle fiche sera � une adresse differente, et ton pointeur pointera sur cette nouvelle adresse.

  10. #10
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par d�faut
    Vous me donner tous des reponses diffentes ... j'en deduis quoi?

  11. #11
    Membre �m�rite
    Inscrit en
    Juillet 2005
    Messages
    512
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par d�faut
    Plusieurs solutions sont possible, c'est � toi de choisir celle qui te convient le mieux, ou la plus adapt�e � ton application.

  12. #12
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par d�faut
    je parlais pas de ca ...
    un me dit que ladresse est prise par la suivante ( mon sentiment aussi )
    et lucien dit non ladresse nest pas prise par la nouvelle ...

  13. #13
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    L'adresse est bien une nouvelle adresse (a moins que la pr�c�dente ai d�j� �t� lib�r�, dans ce cas �a peut �tre la m�me) mais est enregistr� dans la m�me variable (F_test), donc si tu veut acc�der � ta fen�tre par cette variable, tu ne pourra le faire que sur la derni�re que tu as cr��, d'o� le fait de cr�er un vector, maintenant, si tu n'as pas besoin d'y acc�der, tu peut laisser comme �a en mettant caFree dans le OnClose

  14. #14
    Membre �clair�
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    371
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 371
    Par d�faut
    Non je veux pouvoir y acceder ...
    Et meme si jveux pas y acceder jaimerais reussir ce truc de vector

    edit : bon jai regard� le code de vector mais bon , cest pour un int ,et la un tableau de tform dynamique me parait plus dur a mettre en place

  15. #15
    Membre �m�rite
    Inscrit en
    Juillet 2005
    Messages
    512
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par d�faut
    Vu que tu utilise la VCL tu peux aussi utiliser une TList pour stocker tes pointeurs...

  16. #16
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    C'est pas plus compliqu� pour les TForm que pour les int, en int tu as :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    std::vector<int> vectorDeInt;  //créé le vector
    vectorDeInt.push_back(5);      //ajoute un int
    vectorDeInt[index];                //récupère le int à la position index
    vectorDeInt.size();                 //nombre d'élément dans le vector
    En TForm* tu as :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    std::vector<TForm*> vectorDeInt;    //créé le vector de TForm
    vectorDeInt.push_back(new TForm);  //ajoute une TForm
    vectorDeInt[index];                         //récupère la TForm à la position index
    vectorDeInt.size();                          //nombre d'élément dans le vector

Discussions similaires

  1. R�ponses: 7
    Dernier message: 27/06/2005, 22h05
  2. [D�butant(e)]Instancier une classe connaissant son nom (String)
    Par Invit� dans le forum API standards et tierces
    R�ponses: 5
    Dernier message: 17/06/2005, 11h05
  3. [JAR] instancier une Image contenue dans un jar
    Par celine31 dans le forum G�n�ral Java
    R�ponses: 3
    Dernier message: 03/04/2005, 15h55
  4. Probl�mes avec une TForm cr��e dynamiquement
    Par Pascal Jankowski dans le forum Composants VCL
    R�ponses: 5
    Dernier message: 30/03/2005, 11h55
  5. [D�butant(e)]servlet qui instancie une classe personelle
    Par NiBicUs dans le forum Servlets/JSP
    R�ponses: 5
    Dernier message: 08/02/2005, 12h00

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