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

使用Indy連線時發生的問題

缺席
mufou
一般會員


發表:10
回覆:15
積分:10
註冊:2003-07-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-15 00:21:31 IP:211.76.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=66868 有附上程式 主要是Client Server互相傳送文字訊息 (Memo裡的文字) 而在Client連到Server時,就會順便將自己的Memo裡的文字傳到Server去 但在這個時候Server那邊就會有問題 我現在是已經可以正常運作了 將Memo元件的ScrollBars設成none就行了 請問可以解釋這是為什麼嗎 第一次寫有些觀念好像不太清楚, 也請順便看看有沒有什麼好的解決方法或意見....多謝 以下為主要的部分,詳細部分需看我的程式.. [client] Form1->IdTCPClient1->Host=Edit1->Text; Form1->IdTCPClient1->Port=4001; Form1->IdTCPClient1->Connect(3000); Form1->IdTCPClient1->WriteLn("join discussion"); Form1->IdTCPClient1->WriteLn(Form1->ansRichEdit1->Lines->Count); for(int i=0;iansRichEdit1->Lines->Count;i ){ Form1->IdTCPClient1->WriteLn(Form1->ansRichEdit1->Lines->Strings[i]); } ======================================= [server] AnsiString rqCommand=AThread->Connection->ReadLn(); tmpEdit1->Text=AThread->Connection->Socket->Binding->PeerIP; tmpEdit1->SelStart=tmpEdit1->Text.Length()-1; tmpEdit1->SelLength=1; user=tmpEdit1->SelText.ToInt(); if(rqCommand=="join discussion") { tmpEdit1->Text=AThread->Connection->ReadLn(); switch (user) { case 1: RichEdit1->Clear(); for(int i=0;iText.ToInt();i ){ RichEdit1->Lines->Add(AThread->Connection->ReadLn()); } break; case 2: RichEdit2->Clear(); for(int i=0;iText.ToInt();i ){ RichEdit2->Lines->Add(AThread->Connection->ReadLn()); } break; case 3: RichEdit3->Clear(); for(int i=0;iText.ToInt();i ){ RichEdit3->Lines->Add(AThread->Connection->ReadLn()); } break; } } 發表人 - mufou 於 2005/03/15 00:31:59
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-15 09:18:25 IP:218.80.xxx.xxx 未訂閱
什么问题?错误消息为何? Server端是多线程的,在把读取的资料放到Memo里时,注意与主线程同步,否则Memo怪怪的,感觉ScrollBar一会儿在,一会儿不在     久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
------
江上何人初见月,江月何年初照人
mufou
一般會員


發表:10
回覆:15
積分:10
註冊:2003-07-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-15 10:12:07 IP:211.78.xxx.xxx 未訂閱
引言: 什么问题?错误消息为何? Server端是多线程的,在把读取的资料放到Memo里时,注意与主线程同步,否则Memo怪怪的,感觉ScrollBar一会儿在,一会儿不在 久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
問題為 1. 要執行一下我的程式才會知道 一個開成Server 一個開成Client Client連到Server時,就會順便把Memo裡的傳給Server的Memo中 而此時Server就會當在那邊了,就是這問題 而要說錯誤訊息的話 在BCB下執行會說 System Error. Code 1400.無效的視窗控制碼 直接執行程式會說 Abnormal program termination 2. 而為何將Memo的Scrollbar勾選為none 程式又可以正常運作 3. 而你所說的與主線程同步是什麼意思呢,謝謝
mufou
一般會員


發表:10
回覆:15
積分:10
註冊:2003-07-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-15 10:13:28 IP:211.78.xxx.xxx 未訂閱
引言: 什么问题?错误消息为何? Server端是多线程的,在把读取的资料放到Memo里时,注意与主线程同步,否则Memo怪怪的,感觉ScrollBar一会儿在,一会儿不在 久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
問題為 1. 要執行一下我的程式才會知道 一個開成Server 一個開成Client Client連到Server時,就會順便把Memo裡的傳給Server的Memo中 而此時Server就會當在那邊了,就是這問題 而要說錯誤訊息的話 在BCB下執行會說 System Error. Code 1400.無效的視窗控制碼 直接執行程式會說 Abnormal program termination 2. 而為何將Memo的Scrollbar勾選為none 程式又可以正常運作,為什麼阿? 3. 而你所說的與主線程同步是什麼意思呢,謝謝 上一篇..唔...= =" 我按了兩次發送..
系統時間:2024-11-23 3:21:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!