使用Indy連線時發生的問題 |
缺席
|
mufou
一般會員 發表:10 回覆:15 積分:10 註冊:2003-07-16 發送簡訊給我 |
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 發送簡訊給我 |
|
mufou
一般會員 發表:10 回覆:15 積分:10 註冊:2003-07-16 發送簡訊給我 |
引言: 什么问题?错误消息为何? 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 發送簡訊給我 |
引言: 什么问题?错误消息为何? 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. 而你所說的與主線程同步是什麼意思呢,謝謝 上一篇..唔...= =" 我按了兩次發送.. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |