Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TidTelnet и метод Disconnect; [D7, XP]


AV ©   (2012-02-14 14:53:00) 

Есть код
в отдельном потоке выполняется
     oqMainOrder.Close;
     oqMainOrder.Open;
     if oqMainOrder.IsEmpty then
       Sleep(15000) else
       begin
         try
           S12.Open;
           while not(oqMainOrder.Eof) do
           begin
             некая работа
           end;
         finally
           S12.Close;
         end;

S12: TS12NewCom;
procedure TS12NewCom.Open(TimeOut: Integer);
begin
 if not(FIdTelnet.Connected) then
   FIdTelnet.Connect(TimeOut);
 FTimer.Enabled := True;
 PrepareToCmd;
end;
procedure TS12NewCom.Close;
begin
 FTimer.Enabled := False;
 FCntMin := 0;
 //FIdTelnet.Disconnect;
end;

на удаленной машине есть софтина, писана на делфи, исходников нет.
ждет строку на порту
По telnet передаю, жду ответ и отсоединяюсь
на строке FIdTelnet.Disconnect; на удаленной машине возникает ошибка
Asynchronous socket error 10053

Понятно, что там что -то надо подкрутить. Но возможности нет. Как бы мне со своей стороны не давать там такой ошибке происходить?
Я пробую вообще не отключаться. И это работает. Но это не правильно с т.з. логики.


AV   (2012-02-14 16:17:00) [1]

не там закрывал поток.
Он что-то еще отдавал, а я его уже прикрывал.


Наверх

Титульная страница Поиск, карта сайта Написать письмо