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

EDI Delphi Discussion :

Xe - Package avec forms distribuables


Sujet :

EDI Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Xe - Package avec forms distribuables
    Bonjour à tous,

    Quelqu'un pourrait-il m'aider ?

    J'ai des forms que je voudrais distribuer (dans un package). Je voudrais que les autres developpeurs puissent hériter de ces 'templates' afin de réaliser le design sur base de ces ancêtres.

    En faisant quelques tests, j'arrive à distribuer le package et hériter de ces forms (au design je ne vois pas les composants que j'ai dessiné sur le form ancêtre), par contre au runtime, le form se dessine correctement (il hérite bien de son ancêtre) et pourtant le package est 'activé' en mode design et runtime.

    Si vous avez une piste ou des infos ...
    1. savoir si c'est faisable
    2. si oui comment


    Merci d'avance

    @+

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    Déjà que l'héritage de Form avec DFM, je trouve cela très moche !
    Alors de l'héritage de Form dans un BPL, hum, ça fonctionne ça ? Je n'aurais jamais osé !
    Cela s'installe comment ?
    Peux-ton faire un RegisterClass ou RegisterComponent sur un TForm ?
    Tu es sûr que c'est le package qui est utilisé en non des DCU ou PAS inclu ?

    Je dois maintenir une application qui utilise de l'héritage de Form avec ou sans DFM
    Sans DFM, c'est très POO, cela permet d'intégrer des comportements standards ou obligatoire (abstract)
    Avec DFM, c'est pénible, souvent l'ancêtre amène trop d'éléments que l'on doit cacher, on commence à voir des failles dans la reflexion et de l'architecture (vilain mélange présentation et modèle)

    Ce package doit rester interne à ton entreprise ou c'est dans l'objectif d'une bibliothèque a large distribution comme TMS ou DevExpress ?

    Si interne, ne fait pas de package, juste un dossier "templates\form" dans tes sources, tu ajoutes au DPR une référence sur ces form héritable

    Si externe, tu devrais plutôt faire des controles, un découpage plus élémentaire qu'une forme entière avec des controlleur pour l'interactivité entre les éléments (un peu selon l'idée DataSet \ DataSource \ DBGrid)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Tout d'abord merci d'avoir répondu à ma question

    En fait on travaille sur plusieurs sites (pour un développement interne) mais on voudrait centraliser le canevas de base de certains form. Je pensais 'distribuer' des forms en 'read only' sur base desquels tout nouveau form serait développé (5 templates)

    Au niveau des tests .. il va bien rechercher l'héritage dans le package (car j'avais bien 'isolé' le package des .pas et .dcu qui ont servi à générer celui-ci).

    Un découpage du form (en frame) pourrait être une alternative
    Une autre alternative à laquelle je pensai, serait de sauver les forms standards dans le repository ... mais je ne sais pas comment faire pour que l'on ne puisse faire qu'un héritage (pas de 'copy' ou 'use') de ces fameux 5 forms

    Si interne, ne fait pas de package, juste un dossier "templates\form" dans tes sources, tu ajoutes au DPR une référence sur ces form héritable
    Avec cette solution, on pourra toujours modifier les sources !

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Repository - forms 'héritables'
    Quelqu'un pourrait-il me mettre sur la piste concernant la 2ème alternative ('brider' le repository afin de ne pouvoir faire qu'un héritage de certains forms)

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 447
    Points : 24 849
    Points
    24 849
    Par défaut
    tu ne pas brider le repository mais tu peux mettre une méthode virtual abstract qui empechera l'instanciation et forcera l'héritage et la redefinition de la méthode
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Merci
    Nickel

    Merci pour ton aide.

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

Discussions similaires

  1. Pb saut de ligne avec <form></form>
    Par JSuper_Kitten dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/10/2005, 16h02
  2. Réponses: 2
    Dernier message: 22/07/2005, 12h06
  3. package avec un projet
    Par chrisis dans le forum EDI
    Réponses: 5
    Dernier message: 12/07/2005, 09h45
  4. Charger les données Excel avec Forms 9i
    Par Process Linux dans le forum Forms
    Réponses: 8
    Dernier message: 29/03/2005, 14h20
  5. Réponses: 10
    Dernier message: 23/11/2004, 18h14

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