Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.29;
Скачать: CL | DM;

Вниз

поймать исключение...   Найти похожие ветки 

 
Alexis ©   (2003-12-24 19:30) [0]

Необходимо, чтобы клиентская программа с ClientSocket перед стартом определяла, запущен ли в локалке сервер (с ServerSocket) и т.о. если сервер не запущен не выкидывала ошибки Asynchronous Socket Error 10061.
Но код

procedure TForm1.FormShow(Sender: TObject);
begin
try
ClientSocket1.Open;
except
on ESocketError do
begin
showmessage("Server is not running !");
exit;
end;
end;
end;

не дает результата-все равно выкидывается ошибка, а окно с сообщением "Server is not running !" не показывается !

Что я сделал не так? Как при старте проги сделать так, чтобы если сервер не запущен, выдавалось сообщение типа "Server is not running !" и не выдавалось окно с виндовым Error"ом?

Благодарю.


 
Fredericco ©   (2003-12-24 19:38) [1]

1) ClientType=ctNonBlocking
procedure TForm1.FormShow(Sender: TObject);
begin
ClientSocket1.Open;
end;


Event:
procedure ClientSocketError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);)
begin
//Анализ ошибки
Abort;
end;


2) ClientType=ctBlocking
procedure TForm1.FormShow(Sender: TObject);
begin
try
ClientSocket1.Open;
except
on ESocketError do
begin
showmessage("Server is not running !");
exit;
end;
end;
end;


 
Fredericco ©   (2003-12-24 19:39) [2]

Тьфу, блин
Event:
procedure ClientSocketError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);)
begin
//Анализ ошибки
ErrorCode:=0;
end;


 
S@shka ©   (2003-12-24 21:51) [3]

Ну да а у тебя Exception не вылетает потому что тип сокета nonBlocking


 
Rouse_ ©   (2003-12-25 02:48) [4]

http://book.itep.ru/7/sock_71.htm
http://gem.dpt.ustu.ru/InterNetBook/Contents.htm

Читаем, вникаем, спрашиваем...

Желаю успехов



Страницы: 1 вся ветка

Текущий архив: 2004.02.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-93947
Pancha
2004-02-17 18:03
2004.02.29
Как занести строку в переменную в инвентируемом виде?


7-94206
KF111
2003-12-10 11:13
2004.02.29
Как под NT/Win2K узнать имя текущего пользователя?


3-93798
NoName
2004-02-03 16:08
2004.02.29
Проблема c DBEdit


14-94116
race1
2004-02-09 15:42
2004.02.29
cd cover


3-93797
Victor!
2004-01-31 15:12
2004.02.29
Вопрос по Microsoft Jet