|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Проблема с Indy Telnet
Здравствуйте, извеняюсь за глупый вопрос, но ни как не могу понять. IdTelnetClient при вызове метода Disconnect, ошибка acceess violation, я не пойму куда он пытается ссылатся... заранее спасибо
|
#2
|
|||
|
|||
возможно но не уверен ты наверно не вызвал метод connect
|
#3
|
||||
|
||||
Нет. Ошибки не будет. Покажи весь код.
Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#4
|
||||
|
||||
с тем что я коннект не вызвал конечно смешно, но нет я нормально работаю команды посылаю, но вот при disconnect вылазит ошибка, а код почти весь с примера демки по инди... ну собстно вот он
это коннект... IdTelnetClient.Host := Ehost.Text; IdTelnetClient.port := StrToInt(EPort.Text); IdTelnetClient.Connect; ну и дисконнект //IdTelnetClient.CloseWriteBuffer; //IdTelnetClient.DisconnectSocket; //IdTelnetClient.ClearWriteBuffer; //IdTelnetClient. //memo1.Clear; IdTelnetClient.Disconnect; |
#5
|
||||
|
||||
А к какому серверу подключаетесь? И порт.
Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#6
|
||||
|
||||
сервак тож на indy на моей машине, хотя пробывал и наудаленной, если просто через telnet захожу (через cmd), там естественно ошибки нет, порт не занятый (5000), да это в клиенте косяк, только не пойму в чем, как будто что то не освобождается.
Вот еще код для DataAvailable, у клиента, в принципе и кода то больше для telnet в этой проге нет. Код:
const CR = #13; LF = #10; var Start, Stop : Integer; begin if Memo1.Lines.Count = 0 then Memo1.Lines.Add(''); Start := 1; Stop := Pos(CR, Buffer); if Stop = 0 then Stop := Length(Buffer) + 1; while Start <= Length(Buffer) do begin Memo1.Lines.Strings[Memo1.Lines.Count - 1] := Memo1.Lines.Strings[Memo1.Lines.Count - 1] + Copy(Buffer, Start, Stop - Start); if Buffer[Stop] = CR then begin Memo1.Lines.Add(''); {$IFNDEF Linux} SendMessage(Memo1.Handle, WM_KEYDOWN, VK_UP, 1); {$ENDIF} end; Start := Stop + 1; if Start > Length(Buffer) then Break; if Buffer[Start] = LF then Start := Start + 1; Stop := Start; while (Buffer[Stop] <> CR) and (Stop <= Length(Buffer)) do Stop := Stop + 1; end; Admin: Не забываем форматировать код, иначе последуют санкции! Последний раз редактировалось Admin, 17.04.2008 в 20:18. |
#7
|
||||
|
||||
Как ни странно проблема решилась сама собой, ошибка была лишь при компилировании, когда запускаю уже готовый проект ошибки нет и все работает отлично, но все равно спасибо за помошь!
|