線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1396
推到 Plurk!
推到 Facebook!

有關Multi-Tier 和 Client端的問題

答題得分者是:jieshu
johnny2212
初階會員


發表:34
回覆:65
積分:39
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-26 22:31:56 IP:61.226.xxx.xxx 未訂閱
我希望做出一種功能,就是在Client端按一個鈕(呼叫AppServer),AP端就會收到命令去做某一件事,Client 端不必等AP端做完就可以離開,我知道Thread可以做到,但是用Thread真的好麻煩,除了Thread-safe的問題外,Soap用起來也有問題,請問除了Thread外,有沒有別的方法可以做到類似的功能(也就是Client呼叫AP後,從此分離,類似fork一個process,放到background去做)
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-27 09:23:29 IP:203.204.xxx.xxx 未訂閱
引言: 我希望做出一種功能,就是在Client端按一個鈕(呼叫AppServer),AP端就會收到命令去做某一件事,Client 端不必等AP端做完就可以離開,我知道Thread可以做到,但是用Thread真的好麻煩,除了Thread-safe的問題外,Soap用起來也有問題,請問除了Thread外,有沒有別的方法可以做到類似的功能(也就是Client呼叫AP後,從此分離,類似fork一個process,放到background去做)
我的做法是呼叫一個執行檔,讓他去執行,不曉得這和你上次所提存檔問題,是否用的上,我是用在FTP傳文字檔上。
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
johnny2212
初階會員


發表:34
回覆:65
積分:39
註冊:2003-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-28 05:21:14 IP:61.226.xxx.xxx 未訂閱
DCom就是一個執行檔呀,我用AppServer去呼叫Method,若此程序處理的長,Client端必須等很久(DCom結束),才能獲得控制權(除非我用Thread),你的意思是說在Client端再寫一個執行檔去呼叫DCom嗎?是用WinExec嗎?大概要怎麼做可以告訴我嗎? 至於上次的問題你說的沒錯,就是由於thread太難處理,以前我用C語言在Unix上開發,我就是照你的方法,呼叫一個執行檔,在丟到BackGround上就好了,在Delphi上反而不知如何處理
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-28 09:33:14 IP:203.204.xxx.xxx 未訂閱
引言: 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/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
johnny2212
初階會員


發表:34
回覆:65
積分:39
註冊:2003-04-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-28 20:31:24 IP:61.226.xxx.xxx 未訂閱
謝謝Jieshu,我用你的方法終於解決了,我的方法如下(不是用WinExec因為不能傳參數;Mts也不行,因為Client不能中斷,我上次的題目有提過) Client-->DCom(寫在Client端,Thread寫在此)-->Soap-->DCom(Thread亦可寫在此) 如此的話,Soap即可寫出Thread的功能, Thank You very much
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-29 09:12:58 IP:203.204.xxx.xxx 未訂閱
引言: 謝謝Jieshu,我用你的方法終於解決了,我的方法如下(不是用WinExec因為不能傳參數;Mts也不行,因為Client不能中斷,我上次的題目有提過) Client-->DCom(寫在Client端,Thread寫在此)-->Soap-->DCom(Thread亦可寫在此) 如此的話,Soap即可寫出Thread的功能, Thank You very much
那就好,所以我說困難度在傳參數上,如果是要傳ClientDataSet的資料,可先將其存檔,呼叫的執行檔再將其載入即可。
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
系統時間:2024-05-08 0:29:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!