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

Langage Delphi Discussion :

question sur les Fiches


Sujet :

Langage Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    857
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 857
    Points : 267
    Points
    267
    Par défaut question sur les Fiches
    bonjour,


    Soit 3 fiches "Form1" , "Form2" et "Form3".


    la fiche 3 est appelée de deux manières différentes:

    soit de la fiche 1
    ou soit de la fiche 2

    dans les deux cas j'utilise "form3.showmodal"

    voici ma question: une fois que ma "form3" est ouverte, est ce que je peux connaitre la fiche appelante (fiche 1 ou fiche 2) ?

    j'aessaye de le faire en passant un paramètre entre chaque "form" mais il y a peut etre plus simple ?

    merci

  2. #2
    Membre éclairé Avatar de DOLPat®
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 426
    Points : 790
    Points
    790
    Par défaut
    Bonjour

    Dans le même style, tu peux utiliser propriété Tag de la fiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      Form3.Tag:=1 // Form1
      Form3.ShowModal;
     
    ...
      Form3.Tag:=2 // Form2
      Form3.ShowModal;
     
    // Dans Form3
      case Tag of
        1: Caption:='Fiche appelante: Form1';
        2: Caption:='Fiche appelante: Form2';
      end;

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 403
    Points
    11 403
    Billets dans le blog
    6
    Par défaut
    Je pense que le plus propre est d'encapsuler le Form3.ShowModal dans une fonction (ShowFormMachin) exposée dans la partie interface de l'unité concernée, et qui prend un paramètre d'entrée judicieux (on n'a pas forcément d'un Sender car Form3 n'a pas forcément à connaître Form1 ni Form2) pour différencier le traitement.

    soit, grosso modo, si Form3 est créée automatiquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function ShowFormMachin(ATraitement: TTypeTraitement): integer;
    begin
      Form3.QuiMAppelle:=ATraitement;
      Form3.ShowModal;
      Result:=Form3.ModalResult;
    end;
    [EDIT] grillé ! je ne proposais pas ça comme plus propre que ce que DolPat propose

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 42
    Points : 51
    Points
    51
    Par défaut
    il existe aussi la propriété PopupParent
    (peut être pas dans anciennes versions de Delphi)
    ça évite d'avoir à créer une propriété spécifique,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Form3.PopupParent := Form1;
    Form3.ShowModal;
    Mais ça reste bien moins élégant que le Tag cité plus haut.

    Cependant dans mon code (sous D2007), affecter PopupParent
    évite un bug (rare et aléatoire) où la fiche, pourtant appelée avec ShowModal
    reste coincée derrière la fiche appelante.

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

Discussions similaires

  1. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 14h49
  2. question sur les vertex buffer et index buffer
    Par airseb dans le forum DirectX
    Réponses: 9
    Dernier message: 25/08/2003, 03h38
  3. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 14h59
  4. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 09h45
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 17h11

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