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

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

не отрабатывает try clientsocket.Open; finally [D7, WinXP]


redlord ©   (2005-03-23 19:48:00) 

всем привет
народ подскажите почему в приведенном примере,
вслучае неудачного коннекта, молчит бипер
а вот сообщение об ошибке выдается
(10061 комп отверг зпрос на подключение)

client:=Tclientsocket.Create(nil);
client.Host:='127.0.0.1';
client.Port:=80;
client.ClientType:=ctblocking;
try client.Open;  finally   beep; end;


Virus.exe   (2005-03-27 23:26:00) [1]

У меня примерно то же самое...Там вся фишка в том,что при запуске
кода внутри дельфи,все ошибки показываются,а конструкции try...except...finally...end;
не срабатывают.Ты откомпиль прогу,а потом запусти сам exe.Даю свой кабель от выделенки на отсечение,что комп бипнет...


redlord   (2005-03-27 01:53:00) [2]

похоже в моей версии просто отключена возможность перехвата сообщений об ошибках как ее включить ???


Digitman   (2005-03-25 08:22:00) [3]


> redlord   (24.03.05 22:11) [11]


не верю, что при закрытом.
попытка выполнить передачу по неактивному (не установленному на этот момент) соединению обязательно приведет к исключению, вне зависимости от режима работы гнезда - блокирующего или неблокирующего


redlord   (2005-03-24 22:11:00) [4]

похоже что и правду чтото гдето отключено
потомучто ниже приведенный код без всяких
исключений (передает) данные даже при закрытом
слиентском сокете

try
//clientsocket1.Open;
for n:=1 to 100 do
begin
sleep(500);
clientsocket1.Socket.SendText('12345');
memo1.Lines.Add(inttostr(n));
application.ProcessMessages;
if n = 10 then
serversocket1.Socket.Connections[0].Close;
end;
except
on e:exception do
  ShowMessage('E R R O R' + e.classname + ' ' + e.message);
end;


Digitman   (2005-03-24 16:18:00) [5]


> и не разу туда управление небыло передано


а хоть где-нибудь (в ином месте) ловил ВР ?
если ловил, то с галками все в порядке - тгочно так же и здесь поймаешь, как я поймал


redlord   (2005-03-24 16:01:00) [6]

я тоже ставил ешо до отправки мыла
и не разу туда управление небыло передано
может в компиляторе какие галки стоят или наоборот не стоят ??


Digitman   (2005-03-24 15:33:00) [7]


> на мыло исходник бросил 10кило


мыло я твое получил, ставлю БП на строчке on e:exception do и прекрасно этот ВР ловлю, как и ожидаю.

не было никакого резона слать бестолковое мыло.


redlord   (2005-03-24 15:14:00) [8]

to digitman
я вам на мыло исходник бросил 10кило
чтото он на отрез пахатьотказывается если он у вас отработает тогда будет совсем не смешно


Digitman   (2005-03-24 12:59:00) [9]


> redlord   (24.03.05 11:36) [5]
> приведенный вами код почемуто не отрабатывается

врешь ведь ...
либо сервис заведомо доступен, либо ct Nonblocking ..

третьего не дано.


redlord   (2005-03-24 11:36:00) [10]

To digitman
приведенный вами код почемуто не отрабатывается
тоже. оба исключения e:exception и e:esocketerror молчат
как партизаны может в компиляторе чтото включать надо чтоб они отработали ,но в книгах которые у меня есть про ето нигде не сказано


Digitman   (2005-03-24 08:27:00) [11]


> молчит бипер


выкинь свой "бипер", это дилетантский способ "отладки" (тем паче под НТ), для таких целей есть полноценный встроенный отладчик

client:=Tclientsocket.Create(nil);
client.Host:='127.0.0.1';
client.Port:=80;
client.ClientType:=ctblocking;
try
client.Open;  
except
 on e.exception do
   ShowMessage('Исключение ' + e.classname + ' ' + e.message);
end;


redlord   (2005-03-23 23:58:00) [12]

TO Alexander Panov

В блокираванном режиме ONERROR ??????? :))


Alexander Panov   (2005-03-23 22:51:00) [13]

Используй событие OnError


redlord   (2005-03-23 22:46:00) [14]

народ ну что ни кто не знает как отловить ошибку при конекте
блокированного клиента к серверу ??


Наверх

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