Показать сообщение отдельно
  #1  
Старый 20.05.2009, 18:51
Renorquortek Renorquortek вне форума
Прохожий
 
Регистрация: 20.05.2009
Сообщения: 5
Репутация: 10
Печаль Проблема с OnDataAvailable компонетнта TIdTelnet

Доброго времени суток.
Ситуация следующая нужен простой телнет клиент в задачи которого входит залогониться на устройство, выполнить там набор команд и отключиться от него при этом происходящее надо выводить на экран.

Код:
Telnet: TIdTelnet;
Data: TMemo;
SndTxt: TEdit;

Обработка OnDataAvailable выглядит так:
Код:
procedure TForm1.TelnetDataAvailable(Sender: TIdTelnet;
  const Buffer: String);
begin
Data.Lines.Add(Buffer);
end;

Проблема такая если символы на устройство отправлять так:
Код:
Procedure TForm1.SndTxtKeyPress(Sender: TObject; var Key: Char);
var i: integer;
Begin
Telnet.SendCh(key);
End;
То все хорошо в Мемо появляются вводимые символы и ответ от устройства

А если так:
Код:
  if key=#13 then
   Begin
    s:=SndTxt.Text;
    for i :=1 to length(SndTxt.Text) do
     begin
      Telnet.SendCh(s[i]);
     end;
    Telnet.SendCh(#13);
    sndtxt.Clear;
   end;
   End;
то в Мемо я не вижу ни вводимых символов ни ответов и судя по логам устройства команды он не получает.
Кто-нибудь может мне сказать что я делаю не так? И как нужно?
Ответить с цитированием