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

Composants VCL Delphi Discussion :

[Packet] Séparation en Designtime et runtime


Sujet :

Composants VCL Delphi

  1. #1
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut [Packet] Séparation en Designtime et runtime
    Salut à tous.
    J'ai lu pas mal de tuto et livre sur la conception de composant.
    Mais j'ai du mal a me decider comment organiser le packet.
    On parle tout le temps de packet de conception et d'execution, mais dans la pratique c'est pas si evident à mettre en oeuvre.
    Disons que voici mon composant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    type
      TTestCompo = class(TComponent)
      private
        FCustNo: Integer;
        FIbDatabase: TIbdatabase;
        FIbTransaction: TIBTransaction;
        FQryDossier: TIbQuery;
        procedure SetCustNo(const Value: Integer);
        procedure SetIbDatabase(const Value: TIbdatabase);
        procedure SetIbTransaction(const Value: TIBTransaction);
        procedure SetQryDossier(const Value: TIbQuery);
        { Déclarations privées }
      protected
        { Déclarations protégées }
        procedure UpdateQuery;
        procedure Notification(AComponent: TComponent; Operation: TOperation); override;
      public
        { Déclarations publiques }
        constructor Create(AOwner : TComponent); override;
        destructor  Destroy;override;
        procedure   Load;
        procedure   Delete;
        procedure   Update;
        procedure   Insert; 
        procedure   ListQryDossier;
        procedure   CloseQryDossier;
      published
        { Déclarations publiées }
        property IbDatabase     : TIbdatabase read FIbDatabase write SetIbDatabase;
        property IbTransaction  : TIBTransaction read FIbTransaction write SetIbTransaction;
        property CustNo         : Integer read FCustNo write SetCustNo default 0;
        property QryDossier     : TIbQuery read FQryDossier write SetQryDossier;
      end;
    procedure Register;
    Regardons ce code :
    Les methodes Update,Delete,Insert sont specialement utiliser en execution.
    Les methodes Load, ListQryDossier, CloseQryDossier peut être utiliser en mode conception, mais aussi en mode execution.
    Comment dois je organiser mes unités et mes paquets ?


    Merci aus âmes charritables.

    A+
    On progresse .....

  2. #2
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    La procédure Register peut etre mise à part dans un paquet dit de DesignTime car cela n'a rien a voir à l'execution; c'est bien pour l'intégration dans l'IDE de Delphi.

    En revanche, ton compo, il est forcément au moins en Execution, car tu l'utilses bien et surtout en execution.

    Recap:

    PckRutimeTonCompo contient
    l'unité :
    UTonCompo.pas

    PckDesignTonCompo contient
    l'untié :
    URegisterTonCompo.pas (avec la procédure register pour registerer ton compo !)
    le required :
    PckRutimeTonCompo .dcp

    Tu peux préciser a Delphi que PckDesignTonCompo est bien un paquet de Conception seulement.
    Enfin, seul le paquet PckDesignTonCompo est a installer dans delphi, l'autre paquet Delphi s'en chargera.
    "Si vous voulez être l’esclave des banques et payer pour financer votre propre esclavage, alors laissez les banquiers créer la monnaie" - Josiah Stamp, 1920, Gouverneur de la Banque d’Angleterre
    "Qui ne peut acheter ruine qui voudrait vendre" - Jacques Duboin.
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants." - Antoine de Saint Exupéry

  3. #3
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    En gros, si je suit biens ton raisonnement :
    Si j'ai 10 compos dans 10 unité, j'integrer ces 10 unités dans le paquet PckRutimeCompo.
    Je dois creer une unité qui vas juste contenir les editeurs de propriétés et editeur de composant et registeré ces 10 composants et leurs editeurs (propriété ou composant) et integrer cette unique unité dans le PckDesignCompo.

    Bon, je mets ça en place et on verras.

    Merci
    On progresse .....

  4. #4
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Exactement !
    "Si vous voulez être l’esclave des banques et payer pour financer votre propre esclavage, alors laissez les banquiers créer la monnaie" - Josiah Stamp, 1920, Gouverneur de la Banque d’Angleterre
    "Qui ne peut acheter ruine qui voudrait vendre" - Jacques Duboin.
    "Nous n'héritons pas la terre de nos parents, nous l'empruntons à nos enfants." - Antoine de Saint Exupéry

Discussions similaires

  1. Réponses: 15
    Dernier message: 04/01/2007, 11h15
  2. [LG]runtime error 202
    Par picsou123 dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2003, 22h53
  3. Packet forwarder
    Par Gabuzomeu dans le forum Développement
    Réponses: 3
    Dernier message: 03/06/2003, 17h44
  4. Runtime VC++ ou MFC
    Par Elodie_nl dans le forum MFC
    Réponses: 9
    Dernier message: 03/12/2002, 17h23
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

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