SendMassage 送出的訊息沒收到? |
答題得分者是:Clarinet
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
參考下面小弟做了個迷你的版本測試 Thread
http://delphi.ktop.com.tw/board.php?cid=30&fid=72&tid=85907 完整程式在附件, TForm1.WMCHANGE 永遠沒執行到, 為什麼? Unit1.pas 中 <textarea class="delphi" rows="10" cols="60" name="code"> type procedure WMCHANGE(var Msg: TMessage); procedure TForm1.FormCreate(Sender: TObject); begin t1:= TtestThread.Create(true); t1.P1:='t1'; t1.Resume; end; procedure TForm1.WMCHANGE(var Msg: TMessage); begin Memo1.Lines.Add(t1.P1); // 永遠沒執行到, 為什麼? end; Unit2.pas 中 const WM_CHANGE = WM_USER 1973; procedure TtestThread.Execute; begin SendMessage(Wnd, WM_CHANGE, wParam(P1), lParam(P1)); end; </textarea>
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
附加檔案:459b61a5c3f06_t.zip
|
Clarinet
高階會員 發表:9 回覆:97 積分:126 註冊:2002-05-08 發送簡訊給我 |
|
Clarinet
高階會員 發表:9 回覆:97 積分:126 註冊:2002-05-08 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
yowlc
一般會員 發表:1 回覆:5 積分:6 註冊:2005-04-24 發送簡訊給我 |
1. 一樣使用 procedure WMCHANGE(var Msg: TMessage); message WM_CHANGE;
2. 在 SendMessage 的時候, 利用 WParam 和 LParam 來判斷資料, 如 SendMessage(Wnd, WM_CHANGE, 1, LParam(P1)); SendMessage(Wnd, WM_CHANGE, 2, LParam(P1)); 3. 在程式裡面判斷 Procedure Tform1.WMCHANGE(var Msg: Tmessage); Begin If Msg.Wparam = 1 then Begin /////////////////// End else If Msg.Wparam = 2 then Begin /////////////////// End; End; ===================引 用 文 章=================== 有辦法在 TForm1.WMCHANGE 中收好幾種訊息嗎 ? (然後根據不同訊息做不同事情) 下面宣告好像行不通 procedure WMCHANGE(var Msg: TMessage); message WM_CHANGE; message WM_CHANGE2; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |