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 :

Exécuter une procédure après la création d'une fiche


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Exécuter une procédure après la création d'une fiche
    Bonjour, je suis débutant et je souhaiterais exécuter une procédure après que la fiche soit créée.

    Le but est d'afficher des infos au fur et à mesure que j'exécute mon programme, afin de vérifier que tout se passe correctement.

    En utilisant l'évênement "OnCreate", je n'obtient l'affichage qu'une fois ma procédure achevée (ce qui semble logique).

    La solution serait-elle d'utiliser "OnShow" en n'instanciant ma procédure qu'une seule fois ? Ou bien y-a-til plus simple ?

    Merci.

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par szwip
    La solution serait-elle d'utiliser "OnShow" en n'instanciant ma procédure qu'une seule fois ? Ou bien y-a-til plus simple ?
    On n'instancie pas les méthodes, elles existent grâce à l'instance à laquelle elles sont liées....

    Mais oui, la solution est d'utiliser l'événement "onShow", ou encore "onActivate"

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Pill_S
    On n'instancie pas les méthodes, elles existent grâce à l'instance à laquelle elles sont liées....

    Mais oui, la solution est d'utiliser l'événement "onShow", ou encore "onActivate"


    Finalement ça fonctionne comme je le souhaite avec "onActivate", et cela sans vérifier que la procédure a déjà ou non été exécutée une fois, contrairement à ce que je croyais.

    Merci pour la réponse rapide

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Août 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 60
    Points : 90
    Points
    90
    Par défaut
    Met résolu dans ton titre

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Finalement ça fonctionne comme je le souhaite avec "onActivate", et cela sans vérifier que la procédure a déjà ou non été exécutée une fois, contrairement à ce que je croyais.
    Je pense quil "faut vérifier".
    L'event onactivate lorsqu' on revient dans l'appli après avoir changé d'appli (lancer l'explorateur par exemple).
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Août 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 60
    Points : 90
    Points
    90
    Par défaut
    Petite question bête pourquoi ne fait-on pas un OnCreate ?

  7. #7
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 123
    Points : 132
    Points
    132
    Par défaut
    Citation Envoyé par Maldus
    Petite question bête pourquoi ne fait-on pas un OnCreate ?
    Je me disais aussi, parce que c'est le seul evenement qui n'est appelé qu'une seule fois pour une seule fiche sur un seul processus.Les 2 autres c'est autant de fois qu'on va Activer ou Afficher la fiche...
    Je vis dans un ghetto sale et repugnant communément appelé "Service informatique".

    Pour ceux qui ne l'ont pas remarqué, je suis gaucher (Fallait le dire plus tôt!!!)

  8. #8
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Yep !
    Les 2 autres c'est autant de fois qu'on va Activer ou Afficher la fiche...
    T'es sûr de ça ? Parce que je viens de tester avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var
      i: integer;
     
    procedure TForm1.FormActivate(Sender: TObject);
    begin
      inc(i);
      form1.Caption := IntToStr(i);
    end;
     
    procedure TForm1.FormShow(Sender: TObject);
    begin
      inc(i);
      form1.Caption := IntToStr(i);
    end;
    Si je commente les 2 lignes dans le FormShow, ça m'affiche un 1 solid as a rock, et si je décommente je gagne un 2 pour toute la durée du prog, feuille cachée par une autre, "mise en bas", rappelée par Alt-Tab, bref aucune incrémentation dans l'une ou l'autre procédure.
    Mes 2 cts,
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  9. #9
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 123
    Points : 132
    Points
    132
    Par défaut
    Tu peux essayer maintenant ceci?Insere un TEdit, un Tmemo et deux Tbuttons:

    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
     
    var i:Integer;
     
    procedure TForm1.FormActivate(Sender: TObject);
    begin
       Inc(i);
       form1.Caption:=IntToStr(i);
       monedit.Text:=IntToStr(i);
       memo1.Lines.Add('passage n°'+IntToStr(i)+'dans activate');
    end;
     
    procedure TForm1.FormShow(Sender: TObject);
    begin
       Inc(i);
       form1.Caption:=IntToStr(i);
       monedit.Text:=IntToStr(i);
       memo1.Lines.Add('passage n°'+IntToStr(i)+'dans show');
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
       hide;
       sleep(5000);
       show;
    end;
     
    procedure TForm1.Button2Click(Sender: TObject);
    begin
       deactivate;
       sleep(5000);
       activate;
    end;
     
    end.
    Et observe sur le tmemo.
    Je vis dans un ghetto sale et repugnant communément appelé "Service informatique".

    Pour ceux qui ne l'ont pas remarqué, je suis gaucher (Fallait le dire plus tôt!!!)

  10. #10
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Vu !
    Ce qui m'a induit en erreur, c'est ma mauvaise interprétation de
    Les 2 autres c'est autant de fois qu'on va Activer ou Afficher la fiche...
    Dans mon esprit, c'était quand on minimise l'appli, ou quand on en lance une autre qui cache celle au souci.
    Au temps pour moi,
    mais on est là pour apprendre, tous les jours !
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

Discussions similaires

  1. [AC-2003] Appel d'une procédure après touche Entrée dans une textbox
    Par Shankara dans le forum IHM
    Réponses: 13
    Dernier message: 31/05/2009, 23h19
  2. Création d'une procédure dans une base externe par code
    Par AndréPe dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/07/2007, 10h19
  3. Création d'une procédure sur un texte
    Par GLDavid dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 04/06/2007, 10h48
  4. [VBA]Création d'une procédure de recherche
    Par Thegad dans le forum VBA Access
    Réponses: 3
    Dernier message: 03/04/2007, 18h16
  5. [DB2]Eurreur lors de la création d'une procédure
    Par uaspecitmoon dans le forum DB2
    Réponses: 1
    Dernier message: 25/05/2005, 19h23

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