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 :

Accéder a une frame depuis une autre frame ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Décembre 2007
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 258
    Par défaut Accéder a une frame depuis une autre frame ?
    Bonsoir;
    j'ai une form "mainform" et une frame "frmbase" et une fiche "commande" de class "frmbase"
    la fiche "mainform":
    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
    unit MAIN;
     
    interface
     
    uses
      ******************************;
     
    type
      Tmainform = class(TForm)
     
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      mainform: Tmainform;
     
    implementation
    uses BaseFrame;//
     
    {$R *.dfm}
     
     
    end.
    la fiche "frmbase":
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    unit BaseFrame;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
      Dialogs, Data.DB, MemDS, DBAccess, Uni;
     
    const
      IDFirst = 0;
      IDcommande = IDFirst;
      IDarticles = 1;
      IDachat = 2;
      IDLast = IDachat;
     
    type
      TfrmBase = class(TFrame)
      private
        { Private declarations }
      public
     
      end;
      TfrmBaseClass = class of TfrmBase;
     
    function GetDetailControlClass(ATag: Integer): TfrmBaseClass;
    procedure RegisterFrame(AID: Integer; AFrameClass: TfrmBaseClass);
     
    implementation
     
    {$R *.dfm}
     
    var
      AFrameClasses: array [IDFirst..IDLast] of TfrmBaseClass;
     
    function GetDetailControlClass(ATag: Integer): TfrmBaseClass;
    begin
      Result := AFrameClasses[ATag];
    end;
     
    procedure RegisterFrame(AID: Integer; AFrameClass: TfrmBaseClass);
    begin
      AFrameClasses[AID] := AFrameClass;
    end;
     
    { TfrmBase }
     
     
    end.
    la fiche "commande"
    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
    unit Unit_commande;
     
    interface
     
    uses
      *********************;
     
    type
      Tcommande = class(TfrmBase)
        Table_com: TUniTable;
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
        constructor Create(AOwner: TComponent); override;
      end;
     
    var
      commande: Tcommande;
     
    implementation
    uses MAIN, unit_achat;
     
    {$R *.dfm}
     
    constructor Tcommande.Create(AOwner: TComponent);
    begin
      inherited Create(AOwner);
    table_com.Open;
    end;
     
     
    initialization
      RegisterFrame(IDcommande, Tcommande);
    end.
    comment peut on accéder a la table "table_com" existe dans la fiche "commande" depuis "mainform" ou une autre fiche ?

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    type
      Tmainform = class (..
        FCommande: TCommande;
      ...
      end;
    procedure Tmainform.Button1Click(Sender: TObject);
    begin
      FCommande := Tcommande(GetDetailControlClass(IDcommande));
      FCommande.table_com;
    end;
    autre possibilité (s'il n'y a qu'une commande)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    constructor TCommande.Create(...);
    begin
       ...
       Commande := Self; // il est alors possible d'utiliser la variable commande
    end;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre très actif
    Inscrit en
    Décembre 2007
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 258
    Par défaut
    Merci beaucoup Mr Paul TOTH.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/11/2018, 08h47
  2. Accéder a un classeur depuis un autre classeur
    Par lou57lou dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 22/01/2009, 17h23
  3. manipuler un composant d'une frame depuis une autre frame
    Par Jcpan dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 14/01/2009, 10h27
  4. Rechercher depuis une frame dans une autre
    Par torkal27 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/12/2008, 13h32
  5. [Debutant] Comment accéder à mon application web depuis un autre pc?
    Par Perfourras dans le forum Glassfish et Payara
    Réponses: 5
    Dernier message: 10/06/2008, 21h09

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