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 :

Affichage de deux instances de mon application sur Windows 7


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 20
    Points
    20
    Par défaut Affichage de deux instances de mon application sur Windows 7
    Bonjour à tous,
    voila j'ai mon application qui a pour fiche principale la FormMain, et dans cette formMain, sur le formshow, je lance la visualisation de la fiche de connexion, normal quoi.

    Mais du coup, quand je ferme la fiche de connexion, j'ai quand meme une instance de fiche dans la barre des taches Windows 7 (une fiche toute grisée sans rien dessus et ma FormMain), et en plus je n'ai pas l'application dans mon gestionnaire d'applications mais juste le processus.

    Qu'ais-je donc fais de mal ?
    Merci

  2. #2
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    Dans le source du projet(.dpr), quelle est la première form créée?
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  3. #3
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    fiche de connexion... elle est bizarre cette fiche...

    Par défaut, je n'ai que ma fiche principale.. si je veux pouvoir prévisualiser une autre fiche, je suis obligé de modifier mon CreateParams...

    Cette fiche est modale ? comment est-elle fermée ?

  4. #4
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    Citation Envoyé par Linkin Voir le message
    Dans le source du projet(.dpr), quelle est la première form créée?
    Pour rephraser Linkin :

    Dans les options de ton projet, c'est spécifié comme ça ?

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    Non pas du tout, j'ai deux Datamodules de créé en auto ainsi que ma FormMain, c'est tout.
    Faut-il que je créé la FormConnexion d'office et que je la release dès la connexion finie ?

    Merci

  6. #6
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    Citation Envoyé par Whiler Voir le message
    fiche de connexion... elle est bizarre cette fiche...

    Par défaut, je n'ai que ma fiche principale.. si je veux pouvoir prévisualiser une autre fiche, je suis obligé de modifier mon CreateParams...

    Cette fiche est modale ? comment est-elle fermée ?
    Tu peux la créer à la main.. ya pas de soucis... mais tu fais quoi concrètement ?

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    Concretement :

    (dans le MainForm.FormShow)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      fConnexion := TfrmConnexion.Create(Self) ;
      fConnexion.ShowModal ;
      if fConnexion.modalResult = mrCANCEL then
        Application.Terminate ;
    (dans le FConnexion)

    si mot de passe/utilisateur ok alors ModalResult := mrOK.

    Merci

  8. #8
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    Citation Envoyé par 2nd Floor Voir le message
    Mais du coup, quand je ferme la fiche de connexion, j'ai quand meme une instance de fiche dans la barre des taches Windows 7
    Citation Envoyé par 2nd Floor Voir le message
    Concretement :

    (dans le MainForm.FormShow)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      fConnexion := TfrmConnexion.Create(Self) ;
      fConnexion.ShowModal ;
      if fConnexion.modalResult = mrCANCEL then
        Application.Terminate ;
    (dans le FConnexion)

    si mot de passe/utilisateur ok alors ModalResult := mrOK.
    et si ModalResult := mrOK, then... on ne voit pas ce que tu fais de ta fenêtre...

    Dans le doute, j'testerais bien un truc de ce genre :
    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
    var
      fConnexion : TfrmConnexion;
    begin
      fConnexion  := TfrmConnexion.Create(nil);
      try
        if fConnexion .ShowModal = mrOk then
        begin
          // stockage de user, pwd, connexion, ... enfin tout ce dont il y a besoin pour faire tourner l'appli...
     
     
        end
        else
        begin
          Self.Close;
    //      Application.Terminate;
        end;
      finally
        fConnexion .Release;
      end;

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    En effet ca tourne.
    Je faisais bien un Close mais pas un Free/Release. Merci beaucoup.

    Maintenant reste le problème que mon application n'est pas déclaré dans les applications lancées (CRTL+ALT+SUPPR -> Gestionnaire d'applications). Je vois bien le processus mais pas l'appli.

    Une idée ? Merci

  10. #10
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    Dans le source du projet.... (Depuis le Gestionnaire de projets, sélectionner le projet, toto.exe, et faire Ctrl V)
    program Project2;

    uses
    Forms,
    Unit1 in 'Unit1.pas' {Form1},
    Unit2 in 'Unit2.pas' {Form2};

    {$R *.res}

    begin
    Application.Initialize;
    Application.MainFormOnTaskbar := True;
    Application.CreateForm(TForm1, Form1);
    Application.Run;
    end.
    Si ça compile pas, c'est que tu as une très vieille version de Delphi...

  11. #11
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    Ca compile, pas de soucis, mais aucun affichage de l'instance de mon application dans le gestionnaire d'évènements.

    Par contre je le vois bien que je fais ALT/TAB pour zapper entre projets.
    Bizarre non ?

  12. #12
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    Cette procédure n'est pas déclarée dans la fiche ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      protected
        procedure CreateParams(var Params: TCreateParams); override;

    Sinon, sur ta fiche principale, si tu ajoutes dans le FormCreate:

    Est-ce que l'affichage de la fiche se fait correctement ?

  13. #13
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    Non pour le procedure CreateParams(var Params: TCreateParams); override;
    et avec le code dans le FormCreate non, mais fiche ne se charge pas entièrement.

    Merci

  14. #14
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    ok pour createparams.. mais pas compris la suivante...

    si tu commences ton formCreate par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Self.OnShow := nil;
    Exit;
    Ton appli ne marche pas, mais est-ce que la fiche se voit dans les applications du Gestionnaire des tâches ?

  15. #15
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    Ok j'avais pas compris.
    La réponse est non on ne la vois pas dans le gestionnaire des taches.

  16. #16
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    Bon... ben ça peut éliminer les trucs qui se passent dans le FormCreate et dans le FormShow... (et ça fait pas beaucoup avancer le schmilblick...)

    Et si tu crées une nouvelle fiche... et que tu la définis comme étant ta MainForm... celle-ci apparait-elle normalement dans le gestionnaire des tâches ?

  17. #17
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    Oui je confirme, j'ai bien la fiche dans le gestionnaire de taches.
    Serait-ce une option que j'aurais désactivé dans ma FormMain ?
    Merci à toi

  18. #18
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    Que vaut la propriété BorderStyle de ta fiche principale ?

  19. #19
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 64
    Points : 20
    Points
    20
    Par défaut
    bsSizeable, mais le BorderStyle ne joue pas la dessus quand meme non ?

  20. #20
    Membre éclairé
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Points : 664
    Points
    664
    Par défaut
    Citation Envoyé par 2nd Floor Voir le message
    mais le BorderStyle ne joue pas la dessus quand meme non ?
    Crée une nouvelle appli VCL et sur la fiche, définis BorderStyle à bsSizeToolWin ou bsToolWindow...

    Exécute-la, et regarde les applications dans ton Gestionnaire des tâches...

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/06/2008, 13h19
  2. Réponses: 9
    Dernier message: 14/09/2006, 17h03
  3. installation de mon application sur un poste
    Par issam16 dans le forum Access
    Réponses: 6
    Dernier message: 08/08/2006, 17h15
  4. [Conception] Deux instances de l'application
    Par masto dans le forum Général Java
    Réponses: 18
    Dernier message: 03/08/2004, 18h00

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