[Delphi/Lazarus] Komunikaty, Przesyłanie własnego komunikatu nie działa... |
![]() ![]() |
[Delphi/Lazarus] Komunikaty, Przesyłanie własnego komunikatu nie działa... |
czw, 11 mar 2010 - 00:44
Post
#1
|
|
|
Starszy bywalec Grupa: Użytkownicy Postów: 81 Dołączył: śro, 05 lip 06 Skąd: Żory Nr użytkownika: 311 |
Witam mam spory problem z komunikatami mianowicie zadeklarowałem dobie w mojej docelowej aplikacji taki oto komunikat i zdarzenie jego dotyczące:
(posiłkowałem się informacjami z tej strony.) Delphi const Komunikat_DoEdycjiZestawu = WM_APP + 100; // ... procedure KomunikatDoEdycjiZestawu(var msg: TMessage); message Komunikat_DoEdycjiZestawu; // ... procedure TProgram.KomunikatDoEdycjiZestawu(var msg : TMessage); begin ShowMessage('Procedura zgłaszająca sie po wywołaniu komunikatu "KomunikatDoEdycjiZestawu"'); ShowMessage(Chr(Msg.WParam)+Chr(Msg.LParam)); end; i kiedy chce go wywołać poprzez preform Delphi Perform(Komunikat_DoEdycjiZestawu,64,116); to działa ładnie ale gdy w inne aplikacji wywołam Delphi procedure TForm1.Button1Click(Sender: TObject); var uchwyt: HWND; begin uchwyt := FindWindow(nil, 'Nazwa okna mojego programu'); SendMessage(uchwyt, WM_APP + 100, 64,116); end; to nie działa ps. użyłem WM_APP zamiast WM_USER ponieważ tutaj przeczytałem że WM_APP jest lepsze do komunikacji między programami (ale gdy sprawdziłem czy WM_USER zadziała - efekt był taki sam). Pozdrawiam i oczekuje pomocy... |
|
|
|
czw, 11 mar 2010 - 08:14
Post
#2
|
|
|
Archon Grupa: Moderatorzy Postów: 1,868 Dołączył: pią, 28 paź 05 Skąd: Wieża Archona Nr użytkownika: 10 Gadu-Gadu: posiadam |
sprawdz moze jakims toolem typu ui spy czy komunikat faktycznie dochodzi. Inna droga to odnalezienie w implementacji glownej pompy komunikatow i logowanie na konsole przychodzacych komunikatow bedziesz mial pewnosc czy problem jest po stronie nadawcy czy odbiorcy.
-------------------- |
|
|
|
![]() ![]() |
|
Wersja Lo-Fi | Aktualny czas: środa, 08 wrzesień 2010 - 14:18 |