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

計算目前上線人數的問題

答題得分者是:G01
redjeff
一般會員


發表:12
回覆:16
積分:10
註冊:2006-07-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-10 09:58:57 IP:59.125.xxx.xxx 訂閱
我在AP端的RemoteDataModule的Create時下了Form1.ClientConnect(1); 這一行,在Destroy時下了Form1.ClientConnect(-1); 在FORM1上放了一個LABEL用來做顯示人數和一個Procedure procedure TForm1.ClientConnect(sCOUNT: Integer); begin FCOUNT:=FCOUNT sCOUNT; Label1.Caption:=IntToStr(FCOUNT); //在前端時,只要我connected時,就會當在那裡不動,但是只要把這一行mark起來時,前端就沒有問題了,不曉得是什麼原因? end;
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-21 15:35:55 IP:61.64.xxx.xxx 訂閱
引言>>   Label1.Caption:=IntToStr(FCOUNT);

問題就出在這一行....
因為VCL的UI展現部分,並沒有做到Thread Safe 的關係
最簡單的方式是省略掉這一行...由 Form的事件去處理(例如放個Timer去更新)
redjeff
一般會員


發表:12
回覆:16
積分:10
註冊:2006-07-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-23 09:43:58 IP:59.125.xxx.xxx 訂閱
謝謝囉,用你說的方式來測試後,就OK了^_^
系統時間:2024-03-29 12:43:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!