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 :

USEFORM, CreateForm et passage de parametres


Sujet :

C++Builder

  1. #1
    Membre actif Avatar de Jerome S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 62
    Par défaut USEFORM, CreateForm et passage de parametres
    Bonjour,
    Je travaille sous CodeGear C++ Builder depuis quelques temps, mais je n'ai toujours pas compris tous les rouages.
    Ma question d'aujourd'hui se porte sur les instructions USEFORM et CreateForm qui se créent par défaut dans et au-dessus du main. Si je créé 10 fiches, chaque fiche a droit à son USEFORM et son CreateForm.
    Pour le CreateForm, j'ai trouvé dans les options comment l'enlever. Le CreateForm reste tout de même un mystère. Je le supprime sur toutes les fiches (sauf la principale). Je compile et execute, il ne reviens pas. Puis je travaille sur mon projet et quelques temps plus tard, il est de nouveau revenu (sans que je sache ni quand ni comment).

    De plus, j'ai une autre question quand aux constructeurs des classes qui gerent les fiches.
    Admettons que j'ai un projet contenant :
    TForm FenetrePrincipale
    TFrame Fenetre2
    TFrame Fenetre3
    TFrame Fenetre4

    FenetrePrincipale est la fenetre qui s'ouvre au lancement de l'application, et dans celle-ci, il y a 3 TFrames. Ces TFrames, en plus d'être graphiques sont aussi des classes. Dans FenetrePrincipale.h, je vois bien mes Fenetre2 *Fenetre2, Fenetre3 *Fenetre3 mais je ne vois aucun new() nul part. De ce fait, comment puis-je passer des arguments au constructeur de ces classes là, puisque je ne sais pas quand il est appelé ?

    Pour résumer, mes deux questions sont :
    Comment empecher CreateForm de s'écrire à chaque fois ?
    Dois-je laisser CreateForm et USEFORM pour la FenetrePrincipale (c'est à dire, est-ce la meilleure solution conventionnellement parlant) ?
    Comment passer des arguments par défaut à des Frames inclues dans des Form ?

    Merci d'avance (probablement à Shai le Troll qui est souvent notre sauveur) !

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par défaut
    Hello,

    Tu peux laisser les USEFORM, ils ne gênent pas.
    Si tu veux créer toi-même tes autres forms à la demande, enlève les CreateForm du cpp principal (ou passe par les propriétés du projet), et tu pourras utiliser le constructeur qui te convient là où ça t'arrange (CreateForm utilise le constructeur généré par Builder, celui qui prend un TComponent comme seul argument).

    Maintenant, les TFrame....
    Ils sont construits automatiquement en même temps que ta fiche (comme n'importe quel bouton ou label).
    Rien ne t'empêche de les créer toi-même. Supprime le Frame de ta fenêtre, et ensuite, lorsque tu voudras le créer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TFrame2 *Frame413 = new TFrame2(this);
    //ou TFrame2 *Frame413 = new TFrame2(this, param1, param2, param3);
    Frame413->Parent = this;
    Frame413->Left = ....;
    Frame413->Top = .....;
    Et là, tu peux utiliser le constructeur de ton choix....

Discussions similaires

  1. DOS passage de parametre à un .bat
    Par malbaladejo dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 26/11/2014, 15h44
  2. [langage] Passage de parametre lors de l execution
    Par WetzlarMan dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2004, 13h28
  3. Probleme de passage de parametre a un TQuery
    Par gve21 dans le forum C++Builder
    Réponses: 7
    Dernier message: 15/01/2004, 15h49
  4. Passage de parametre calculé
    Par soazig dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 06/06/2003, 16h25
  5. Passage de parametre a une anim Flash 5
    Par debug dans le forum Intégration
    Réponses: 4
    Dernier message: 03/06/2002, 17h59

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