Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
ВнизОтреагировать на ошибку 10061 TClientSocket-a Найти похожие ветки
← →
Ezorcist (2007-04-11 16:47) [0]Как отреагировать на эту ошибку? а точнее в какой точке программы она вообще происходит?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp;
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
try
ClientSocket1.Open;
except
showmessage("error in #1");
end;
end;
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
showmessage("error in #2");
errorcode:=0;
end;
end.
В этих двух событиях ее вроде нет, где же ее искать ? :)
← →
Сергей М. © (2007-04-11 17:10) [1]
> Ezorcist (11.04.07 16:47)
У тебя отладчик перед носом есть ? Есть.
Ну и какого же хрена ?)
← →
Ezorcist (2007-04-13 17:27) [2]Ну обычно компилятор сам показывал на какой именно строчке возникает ошибка, а тут Button1Click нормально завершается, а потом просто окно об ошибке и выделяется строка "end." в коде проекта.
← →
grisme © (2007-04-13 18:27) [3]если я правильно понял то, что тебе нужно... а я понял, что тебе нужно узнать, что произошла ошибка 10061 при попытке коннекта...
в clientsocket1.OnError передается ErrorCode
можно сделать конструкцию типа
case ErrorCode of
10061:showmessage("refused!");
... остальные сокетные ашыпки
end;
ErrorCode:=0; // а потом уже нилить, но нада буит деинит клиента сделать вручную и т.д., т.е. cliensocket уже забудет про ошибку
← →
Ezorcist (2007-04-13 18:57) [4]
> при попытке коннекта...
> в clientsocket1.OnError передается ErrorCode
тогда почему в коде [0] не появляется сообщение "error in #2" ?
← →
Ezorcist (2007-04-14 00:00) [5]ТовариСЧИ, будте же снисходительны к новичкам :)
← →
grisme © (2007-04-14 13:16) [6]попробуй убрать try...except ;)
← →
Ezorcist (2007-04-14 19:17) [7]
> попробуй убрать try...except ;)
неизменно... ((((
← →
Ezorcist (2007-04-15 21:42) [8]неужели такая нереальная задача?)
← →
Сергей М. © (2007-04-16 09:38) [9]
> неужели такая нереальная задача?
Абсолютно реальная.
В обработчике OnError:
case ErrorCode of
10061: .. реакция ..
... другая реакция ..
else
... реакция по умолчанию ..
end;
ErrorCode := 0;
Socket.Close;
← →
Ezorcist (2007-04-16 15:39) [10]Мда... странное дело. У меня в системе установлен аутпост, который был в режиме запрещения. Как только добавил программы в список разрешенных аутпостом, ошибка начала нормально отлавливаться...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c