C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Работа с Indy
Leha
Отправлено: 09.07.2005, 10:08


Не зарегистрирован







Коллеги. Такой вопрос.
CODE
//---------------------------------------------------------------------------
void __fastcall TForm1::IdTCPServer1Execute(TIdPeerThread *AThread)
{
if(AThread->Connection->Connected()==true)
 {
AnsiString TempString;//while
TempString=AThread->Connection->ReadLnWait();
Memo1->Lines->Append(TempString);
Memo1->Lines->Append(AThread->Connection->CurrentReadBufferSize());
AThread->Connection->Write(AnsiString("AAAAAAAAAAAAAAA"));
AThread->Connection->Disconnect();
}
}

//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IdTCPClient1->Connect();
if(IdTCPClient1->Connected())
{

   IdTCPClient1->WriteLn(Edit1->Text);
AnsiString Buff;
Buff=IdTCPClient1->ReadLnWait();
           IdTCPClient1->Disconnect();

}
}
//---------------------------------------------------------------------------

Прога подвисает при получении ответа сервера на строке
Buff=IdTCPClient1->ReadLnWait();

Что не так??? В книге Архангельского по 7 Дельфе этот пример работает, типа. А в билдере 5 ну ни как.

Отредактировано Gedeon — 11/07/2005, 10:35
Suzeren
Отправлено: 10.07.2005, 13:59


Ученик-кочегар

Группа: Участник
Сообщений: 6



Не так много занимался с Indy компонентами. Никогда не пользовался функцией клиента ReadLnWait(). Всегда использовал ReadLn(). Она по-моему нормально отправляет запрос на сервер, который вполне неплохо отвечает на неё WriteLn. Я смотрел примеры которые постаяляюся в комплекте с C++Builder 6.0, поскольку другой документации по INDY не имел.

Вернуться в Вопросы программирования в C++Builder