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

如何停止程式目前執行的動作?

尚未結案
saningamour
一般會員


發表:18
回覆:17
積分:7
註冊:2003-11-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-09 06:55:08 IP:61.230.xxx.xxx 未訂閱
小弟目前有個及時通報的程式 就是每隔一段時間 要去掃DataBase並且寄發mail 因為是及時通報的緣故 所以希望能再很短的時間(一分鐘)就執行NMSMTP1.Connect一次 小弟目前是用一個Timer元件來run 不過因為網路的關係 常常會與DataBase連線失敗 結果一分鐘到了 下一次的動作必須執行 但是上一次的動作卻還沒完成(連線中)又無法終止 就會發生 Already connected 或是 451 Timeout waiting for client input 的錯誤訊息 請問該如何解決呢? 謝謝喔
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-09 10:54:23 IP:61.229.xxx.xxx 未訂閱
saningamour,您好: 1.如果您的及時通報程式要求每次的及時通報都要執行,且每次都要執行完成,那麼建議您將執行的動作寫成一個thread,Timer的程序只要負責去叫起一個thread,接著後面的動作都由thread去執行. 2.如果因為通報的動作要花很久的時間,允許部分的通報可以不用執行時,那麼您可以在Timer的程式開頭去檢查目前是否有通報程式正在執行,沒有才繼續執行,不然就跳離.您可以用一個全域的變數來設定及檢查目前是否有通報的程序正在執行.
系統時間:2024-07-01 20:18:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!