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

Delphi Discussion :

Form héritée et conception


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut Form héritée et conception
    Bonjour à tous,

    Voilà, mon problème est sûrement très simple à résoudre, mais j'ai encore du mal avec la POO.
    Dans mon projet j'ai une dizaine de forms ayant des structures initiales identiques. Je crée donc une fiche de base, et pour chacunes des 10 fiches du projet je fait un héritage de cette fiche de base.

    Mon problème c'est que j'aimerais pouvoir continuer le mode conception sur ces forms héritées, de manière à rajouter facilement des DBEdits, des labels...

    Merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Par défaut
    Très bonne idée
    Je travaille avec cette politique depuis longtemps,cela fonctionne très bien et fait réellement gagner du temps.

    pas de problème pour modifier les fils en y ajoutant des spécificités (DBEdit...) ou pour modifier les propriétés des objets définis dans le père.
    Par contre, pas possible de supprimer des objets du père.

    --> comment ca tu a des problemes a poser des composants sur les fils ?
    précise

    Simple conseil, essaye pour les form père de faire totalement abstraction de la nature des données qui seront implémentées dans une form fille héritée.
    De cette manière, tu pourras faire profiter à toutes tes form filles des potentielles nouvelles fonctionnalités.

    Exemple pour l'héritage de form
    Création de FMaBase = class( TForm)

    puis tu crées une autres fiche
    FMaFille = class( FMaBase)

    Tu peux le faire soit par code, soit via le menu Fichier/Nouveau/Autre puis tu choisi un héritier dans l'onglet qui porte le nom de ton projet.

    bon code !
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  3. #3
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut
    Merci pour ton aide,

    En faite mon problème doit venir de ma facon de raisonner...
    Pour l'instant je crée un fiche de base par Nouveau\Fiche :
    FMaBase = class( TForm)
    et ensuite je fait pareil, sauf que je défini : FMaFille = class( FMaBase);

    Le problème c' est que pour concevoir, aucun des composants de père n'est visible ( faut que je place mes composants à l'aveuglette...)
    En revanche, lors de l'execution, tout s'affiche...
    Très bonne idée
    Je travaille avec cette politique depuis longtemps,cela fonctionne très bien et fait réellement gagner du temps.
    C'est mon but aussi.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2003
    Messages : 64
    Par défaut
    Citation Envoyé par PadawanDuDelphi
    et ensuite je fait pareil, sauf que je défini : FMaFille = class( FMaBase);
    Bonjour,

    Essaie plutôt de faire : Fichier/Nouveau/Autre...
    La tu trouveras un onglet avec le nom de ton projet d'ou tu pourras hériter facilement de ta fiche FMaBase.

    Manu

    [EDIT] Oups, c'est pile ce qu'a expliqué TicTacToe avant alors si tu as suivi cette méthode je ne vois pas d'où vient ton problème [/EDIT]

  5. #5
    Membre Expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 568
    Par défaut
    Salut

    Il te manque une petite manipulation : passe ta fiche en vue texte (Menu contextuel "Voir comme texte" ou Alt+F12) et modifie le premier mot "object" en "inherited" puis revient en vue fiche (Alt + F12), c'est magique (enfin c'est bidouille mais ça dépanne)

    Sinon avant de créer ta fiche, utilise le menu Fichiers et choisis Nouveau, il y a un onglet "Projet" (selon version de Delphi) tu peux alors héritzer directement une fiche, un DataModule ou un cadre.

    cdlt

    e-ric

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

  6. #6
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut
    Merci bocoup à vous tous!!

    Je me suis servi de ton astuce e-ric pour les premières fiches que j'ai créer, et j'utiliserai la méthode pour créer de fiches avec des éléments héritables (que je connaissais pas du tout) à l'avenir.

    Encore merci et bonne programmation!!

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2003
    Messages : 64
    Par défaut
    tiens, une astuce en passant si tu ne connaissais pas .

    Si dans une fiche descendante tu modifies des propriétés (taille, position, couleur etc.) d'un composant întroduit dans l'ancêtre tu romp la "chaine d'héritage" entre l'ancêtre et l'enfant pour ce composant et cette propriété, si tu veux rétablir dans l'enfant les propriétés de l'ancètre, il faut faire un clic droit sur le composant et demander le retour à l'hérité.

    si ça peut aider.
    Manu

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

Discussions similaires

  1. un Datagridview dans une FORM héritée
    Par HENRYC dans le forum C#
    Réponses: 2
    Dernier message: 17/12/2012, 19h45
  2. propriété sur form héritée
    Par Pol63 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 14/09/2009, 15h05
  3. Gestion d'évement dans une Form héritée
    Par HENRYC dans le forum C#
    Réponses: 6
    Dernier message: 24/05/2007, 19h23
  4. [Forms]QUestion de conception sur ORACLE Form
    Par groy1 dans le forum Forms
    Réponses: 7
    Dernier message: 25/10/2006, 10h54
  5. [Conception] Taille des formes fixes au retour d'exécution
    Par jmdeffet dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/06/2005, 09h07

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