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 :

sendmessage close thread showmodal


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut sendmessage close thread showmodal
    Bonjour,

    j'ai un problème bizarre, lorsque mon programme reçoit le message WM_CLOSE il se ferme même si j'ai des fenêtres en attente d'une réponse avec ShowModal.

    Mais j'ai ce code dans un thread de mise à jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Procedure TThreadUpdater.SyncroMsgNew;
    Begin
      fmNewVersion:= TfmNewVersion.Create(fmMain) ;
        Try
          If fmNewVersion.ShowModal = mrOk Then
            FDownUpdate := True;
        Finally
          FreeAndNil(fmNewVersion);
        End;
    End;
    je l'appelle avec la procédure Synchronize(SyncroMsgNew);lorsque mon programme reçoit le message close, la fenêtre ne se ferme pas, mais mon programme réagit puisque onclosequery de la form principal est exécuté puis le programme se fige, car j'affiche une fenêtre modal pour le traitement des actions longues et à ce moment-là le programme se bloque.

    Je ne comprends, je croyais que le code envoyé avec Synchronize passait dans le thread principale et se comporte comme n'importe quelle autre code mais apparemment ce n'est pas le cas puisque cette fenêtre ne veut pas se fermer, j'ai essayé sans succès de mettre ceci dans le onclosequery de ma form principal avant le lancement des actions avec la fenêtre modal afin de détecter si ma fenêtre est ouverte et de la fermer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if Assigned(fmNewVersion) then
    begin
      fmNewVersion.ModalResult:= mrCancel;
      fmNewVersion.Close;
    end;
    Je ne comprends pas quel est le problème, merci d'avance pour votre aide.
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  2. #2
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    A supprimer, c'est le thread qui bloquai.
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

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

Discussions similaires

  1. [SendMessage] Quel thread gère l'appel à la procédure ?
    Par Bleys dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 25/06/2008, 15h13
  2. [CCom]Probleme avec SendMessage dans le thread
    Par homeostasie dans le forum Visual C++
    Réponses: 7
    Dernier message: 18/06/2007, 16h13
  3. SendMessage et ShowModal
    Par petitcoucou31 dans le forum Delphi
    Réponses: 1
    Dernier message: 24/03/2007, 12h01
  4. Fenêtres: show, showmodal, hint, close ??
    Par Danae dans le forum Langage
    Réponses: 3
    Dernier message: 11/08/2005, 17h29
  5. [Kylix] Pb de Thread !!
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 25/04/2002, 13h53

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