J'ai deux applications qui utilisent une DLL commune. De l'application « A » J'ai envoyé un message avec le paramètre de chaîne comme indiqué ci-dessousEnvoyer une chaîne via SendMessage depuis l'intérieur dll
txt := 'Test String'
SendMessage(Handle, MyMessage, 0, lParam(PChar(txt)));
et dans la même DLL J'ai une autre fonction pour lire ce message, mais j'ai reçu un message vide. Je ne sais pas où je fais erreur.
procedure MyClass.WndMethod(var Msg: TMessage);
var
Str: string;
begin
case Msg.Msg of
MyMessage:
begin
Str := string(PChar(Msg.LParam));
ShowMessage(Str); // Empty message
end;
end;
Est-il applicable d'utiliser 'WM_COPYDATA' comme décrit ici http://stackoverflow.com/questions/10126342/vc-sending-message-between-two-application? – SevenEleven
@SevenEleven Je l'ai fait aussi bien mais j'ai reçu un message vide. –