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 :

[DELPHI6] Et SendMessage


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 81
    Points : 50
    Points
    50
    Par défaut [DELPHI6] Et SendMessage
    Bonjour,

    J'ai deux éxecutables. Le premier envoie un message, le second le réceptionne. Aucun problème jusque là. Mais maintenant je souhaite savoir si SendMessage a été traité. Dans la procédure de message je positionne la valeur result du message à une certaine valeur croyant la récupérée dans le programme émeteur. Erreur je récupère toujours zéro.

    Voici le code que j'utilise :

    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
     
     
     
    // Programme émetteur :
     
    procedure EmetUnMessage();
    Var
        iValue : Integer;
    Begin
        iValue:=SendMessage(HandleValide,MSG_VALIDE,0,0);
        // J'affiche ici la valeur retournée par SendMessage
        ShowMessage(IntToStr(iValue));
    End;
     
    // Programme récepteur :
     
    procedure FormTest.DefaultHandler(var Message);
    Begin
        With TMessage(Message) Do Begin
          If Msg=MSG_VALIDE Then Begin
              // Je log bien le message
              AppendLog('Message : MMSG_VALIDE');
              // Je positionne la valeur retournée
              TMessage(Message).Result:=200;
          End;
        End;
        Inherited DefaultHandler(Message);
    End;

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    C'est le inherited DefaultHandler qui casse tout
    Tu ne dois l'appeler que si tu n'as pas déjà traité ton message toi-même, car il met Result à 0 s'il ne sait pas quoi faire :
    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
    procedure FormTest.DefaultHandler(var Message);
    begin
      with TMessage(Message) do
      begin
        if Msg = MSG_VALIDE then
        begin
          // Je log bien le message
          AppendLog('Message : MMSG_VALIDE');
          // Je positionne la valeur retournée
          TMessage(Message).Result:=200;
          // On quitte pour éviter le inherited DefaultHandler
          exit;
        end;
      end;
      inherited DefaultHandler(Message);
    end;

  3. #3
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 81
    Points : 50
    Points
    50
    Par défaut
    Merci beaucoup rédacteur.

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

Discussions similaires

  1. [DELPHI6][API] SendMessage
    Par Desraux dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 07/06/2005, 11h32
  2. Delphi6 et directx
    Par toure32 dans le forum DirectX
    Réponses: 1
    Dernier message: 13/10/2002, 18h15
  3. [CR8][Delphi6] erreur imprimante non supportée
    Par Sebastien L. dans le forum SDK
    Réponses: 3
    Dernier message: 12/09/2002, 15h42
  4. delphix et delphi6 une legende???
    Par genteur slayer dans le forum DirectX
    Réponses: 1
    Dernier message: 19/08/2002, 16h43
  5. [Kylix] DELPHI6-CLX problème Onmousedown ....
    Par Bodin Yvon dans le forum EDI
    Réponses: 2
    Dernier message: 22/07/2002, 11h01

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