有關Multi-Tier 和 Client端的問題 |
答題得分者是:jieshu
|
johnny2212
初階會員 發表:34 回覆:65 積分:39 註冊:2003-04-09 發送簡訊給我 |
|||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 我希望做出一種功能,就是在Client端按一個鈕(呼叫AppServer),AP端就會收到命令去做某一件事,Client 端不必等AP端做完就可以離開,我知道Thread可以做到,但是用Thread真的好麻煩,除了Thread-safe的問題外,Soap用起來也有問題,請問除了Thread外,有沒有別的方法可以做到類似的功能(也就是Client呼叫AP後,從此分離,類似fork一個process,放到background去做)我的做法是呼叫一個執行檔,讓他去執行,不曉得這和你上次所提存檔問題,是否用的上,我是用在FTP傳文字檔上。
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
johnny2212
初階會員 發表:34 回覆:65 積分:39 註冊:2003-04-09 發送簡訊給我 |
|||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: DCom就是一個執行檔呀,我用AppServer去呼叫Method,若此程序處理的長,Client端必須等很久(DCom結束),才能獲得控制權(除非我用Thread),你的意思是說在Client端再寫一個執行檔去呼叫DCom嗎?是用WinExec嗎?大概要怎麼做可以告訴我嗎? 至於上次的問題你說的沒錯,就是由於thread太難處理,以前我用C語言在Unix上開發,我就是照你的方法,呼叫一個執行檔,在丟到BackGround上就好了,在Delphi上反而不知如何處理我原本是指Server端的RemoteDataModule的Method裡去呼叫另外寫好的執行檔去執行,你一提我才想起Client也可以,但要每個Client多一個執行檔比較麻煩,我們是用在讀取Server的執行進度上,但困難度在傳參數上,不曉得可不可以用ClientDataSet.SaveToFile和ClientDataSet.LoadFromFile和(ClientDataSet.Data或ClientDataSet.Delta)來組合出要傳給其他執行檔的資料,參數多的話,我會讓執行檔去讀一ini檔,看要做什麼事,處理起來比較簡單。用Winexec沒錯,當然也可使用ShellExecute。
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
johnny2212
初階會員 發表:34 回覆:65 積分:39 註冊:2003-04-09 發送簡訊給我 |
|||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 謝謝Jieshu,我用你的方法終於解決了,我的方法如下(不是用WinExec因為不能傳參數;Mts也不行,因為Client不能中斷,我上次的題目有提過) Client-->DCom(寫在Client端,Thread寫在此)-->Soap-->DCom(Thread亦可寫在此) 如此的話,Soap即可寫出Thread的功能, Thank You very much那就好,所以我說困難度在傳參數上,如果是要傳ClientDataSet的資料,可先將其存檔,呼叫的執行檔再將其載入即可。
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |