請教一下有關thread的問題 |
尚未結案
|
wen142
一般會員 發表:22 回覆:27 積分:14 註冊:2004-06-30 發送簡訊給我 |
|
wen142
一般會員 發表:22 回覆:27 積分:14 註冊:2004-06-30 發送簡訊給我 |
各位大大你們好~
或許小弟對於想要問的問題表達的怪怪的
因為小弟也是突然被丟這樣的PROJECT 其想法主要是要將程式與程式之間
(其包含在同台電腦與不同台電腦兩個層級)
以同一台電腦為例子
當所撰寫的資料或是影像在相互傳遞的過程中
必須要有一個可以做紀錄的機制
(好比紀錄:傳遞與被傳遞的AP、以及傳遞的啟始時間和終止時間等)
這樣的一個小程式稱為什麼呢?
我一直不太懂(因為BOSS老叫他QUEUE)
此外,聽說MFC中的thread有自動加入QUEUE的機制(其作用如同上述)
因此才突然被驅使使用thread來撰寫
但是看過站上不少文,總認為和BOSS講的有很大的出入
請各位大大幫個忙
提供一點想法 ︿︿ bcb新手上路 請多指教
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
wen142:
Windows在傳遞訊息時是透過所謂Message queue.
例如你在畫面做Repaint的時候.程式會丟一個WM_PAINT給Message queue.
然後程式會接收到這各Message.在去做動作.
所以這應該不能算是Thread的問題.你應該去朝向"攔截Message"這各部分去努力.
MFC中的thread有自動加入QUEUE的機制.應該是說,MFC要自行撰寫Message的動作.BCB也可以.但是這各只是單純的攔截該程式的Message.
請參考
http://delphi.ktop.com.tw/topic.php?topic_id=51359
http://delphi.ktop.com.tw/topic.php?topic_id=49757
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/MessagesandMessageQueues.asp
另一種是攔截Windows本身的Message.叫做HOOK
請參考
http://delphi.ktop.com.tw/topic.php?topic_id=47733
http://delphi.ktop.com.tw/topic.php?topic_id=33007
或是多利用可本站來做搜尋.
|
wen142
一般會員 發表:22 回覆:27 積分:14 註冊:2004-06-30 發送簡訊給我 |
引言: wen142: Windows在傳遞訊息時是透過所謂Message queue. 例如你在畫面做Repaint的時候.程式會丟一個WM_PAINT給Message queue. 然後程式會接收到這各Message.在去做動作. 所以這應該不能算是Thread的問題.你應該去朝向"攔截Message"這各部分去努力. MFC中的thread有自動加入QUEUE的機制.應該是說,MFC要自行撰寫Message的動作.BCB也可以.但是這各只是單純的攔截該程式的Message. 請參考 http://delphi.ktop.com.tw/topic.php?topic_id=51359 http://delphi.ktop.com.tw/topic.php?topic_id=49757 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/MessagesandMessageQueues.asp 另一種是攔截Windows本身的Message.叫做HOOK 請參考 http://delphi.ktop.com.tw/topic.php?topic_id=47733 http://delphi.ktop.com.tw/topic.php?topic_id=33007 或是多利用可本站來做搜尋.感謝李國維大大的詳細回應 我看過這些文章之後有一點頭緒了 但是仍然有一些問題想要請教大大 就是關於worklist(工作列) 因為問這些問題的最終目的是希望做出worklist 因此假設如我上篇所述兩電腦間的資料或訊息傳遞 中間需要就由worklist做為媒介並記錄呢 還是傳遞歸傳遞 由兩個做傳遞的程式去向worklist報備做紀錄呢 最後還有一個小問題~ 由 |
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
引言: 感謝李國維大大的詳細回應 我看過這些文章之後有一點頭緒了 但是仍然有一些問題想要請教大大 就是關於worklist(工作列) 因為問這些問題的最終目的是希望做出worklist 因此假設如我上篇所述兩電腦間的資料或訊息傳遞 中間需要就由worklist做為媒介並記錄呢 還是傳遞歸傳遞 由兩個做傳遞的程式去向worklist報備做紀錄呢 最後還有一個小問題~ 由>>< face="Verdana, Arial, Helvetica"> wen142: 不好意思我不是很懂你所謂WorkList的定義. 至於你所述兩電腦間的資料或訊息傳遞 中間需要就由worklist做為媒介並記錄呢 還是傳遞歸傳遞由兩個做傳遞的程式去向worklist報備做紀錄呢 理論上都是可行的.這是屬於你軟體架構的部份. 因為我不了解.所以很難去判斷好壞. 如果方便的話.可以麻煩你描述清楚一點軟體需求跟架構嗎? 最後.我沒實做過HOOK.所以很難去描述清楚.但是就Windows的Message而言. 每一個Message都會有一個代碼.所以說應該可以利用代碼來判斷Message.如果是需要的在處理如果不是需要的就丟回去給windows. |
wen142
一般會員 發表:22 回覆:27 積分:14 註冊:2004-06-30 發送簡訊給我 |
引言: wen142: 不好意思我不是很懂你所謂WorkList的定義. 至於你所述兩電腦間的資料或訊息傳遞 中間需要就由worklist做為媒介並記錄呢 還是傳遞歸傳遞由兩個做傳遞的程式去向worklist報備做紀錄呢 理論上都是可行的.這是屬於你軟體架構的部份. 因為我不了解.所以很難去判斷好壞. 如果方便的話.可以麻煩你描述清楚一點軟體需求跟架構嗎? 最後.我沒實做過HOOK.所以很難去描述清楚.但是就Windows的Message而言. 每一個Message都會有一個代碼.所以說應該可以利用代碼來判斷Message.如果是需要的在處理如果不是需要的就丟回去給windows.SORRY 大大~~ 因為有點事情所以沒有辦法上線 這麼晚才回應 BOSS給的任務是希望: 在程式與程式間或是電腦與電腦間的發收程式間 不論是資料傳遞或是傳輸,以及檔案傳遞或是傳輸 都要有所紀錄 包括上線者(使用者)、傳遞起使時間、終止時間、狀態、傳遞的檔案及路徑....許多較為繁瑣的資料 他稱這樣的東西叫worklist(他之前是在DOS上用QUEUE做) 不過很感謝大大的回應 因為參與的人比較少 所以我只能自己幻想怎麼做 如果我做出來在供大家參考吧 bcb新手上路 請多指教 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |