全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1207
推到 Plurk!
推到 Facebook!

同時關閉兩個clientsocket會造成access violation??

缺席
agogorz
初階會員


發表:9
回覆:34
積分:28
註冊:2005-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-10 22:34:14 IP:220.143.xxx.xxx 未訂閱
hi,請問各位前輩,我的delphi client程式在關閉時會送出兩個text: a name跟x name a的功能是負責告知好友上站或下站,x的功能是改資料庫裡的數據,把使用者的數據初始化,由於兩個都有使用到query存取資料庫,因此會花上一點時間處理,問題來了,同時關閉兩個client會造成access violation,請問有什麼方法可以避免嗎?我有使用了sleep不過成效不太好:p
cashyy
高階會員


發表:117
回覆:322
積分:212
註冊:2004-04-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-11 03:56:41 IP:59.104.xxx.xxx 未訂閱
妳好! 請問妳的client關閉時,有先把client的active關閉嗎? 如:ClientSocket1->Active = false; 還是都沒做socket關閉的事情,就把socket關閉了! 是否可以把整個程式架構詳細的說明呢?如:有client端、server端,這兩端各自在做什麼…等等!讓其它有經驗的前輩幫妳!
agogorz
初階會員


發表:9
回覆:34
積分:28
註冊:2005-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-11 12:36:52 IP:61.223.xxx.xxx 未訂閱
hi cashyy 前輩: 我的那兩個指令是放在form1(main form)的onclosequery event 裡,的確沒有作closesocket的動作,謝謝你的提點,我會試試看的
agogorz
初階會員


發表:9
回覆:34
積分:28
註冊:2005-04-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-11 12:41:09 IP:61.223.xxx.xxx 未訂閱
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin ClientSocket1.Socket.SendText('A' na); sleep(1); clientsocket1.socket.sendtext('X' na); if watch_shop_id <> '' then begin sleep(1); clientsocket1.socket.sendtext('J' watch_shop_id); end; clientsocket1.active := false; end; 以上是我form close的時候會作的動作(socket1.active是剛加的),sleep的原因是因為送太快似乎會造成server端把兩個指令合在一起
系統時間:2024-05-14 8:34:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!