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;