Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отфильтровать ошибку для комп-а ClientSocket 
V
    Опции темы
kiLLProg
Дата 16.8.2009, 03:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Если при активации ClientSocket'а сервак еще не запущен, то появляется окно с сообщением об ошибки. Я пытаюсь вывести сообщение в основном окне таким способом:
Код

try
    {
      ClientSocket1->Active = true;
    }
    catch (Exception &E)
    {
        ListBox2->Items->Add(E.Message);
    }
 
// или так 
    try
    {
      ClientSocket1->Active = true;
    }
     catch (...)
    {
       ListBox2->Items->Add("Err.")
    }


Не получается (Сообщени об ошибки выводится стандартным способом). Посоветуйте пожалуйста что нужно делать в данной ситуации. Программу не из среды запускал.
PM MAIL   Вверх
smoke_man
Дата 16.8.2009, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 25.1.2007
Где: Рязань

Репутация: 9
Всего: 17



Используй OnError TClientSocket`а:
Код

/---------------------------------------------------------------------------

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
   ClientSocket1->Active = true;     
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ClientSocket1Error(TObject *Sender,
      TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{                             
      ClientSocket1->Active = false;
      ShowMessage("Error");
      ErrorCode = 0;
}
//---------------------------------------------------------------------------



--------------------
0x2b|~0x2b
PM MAIL ICQ GTalk   Вверх
kiLLProg
Дата 17.8.2009, 03:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.10.2008

Репутация: нет
Всего: нет



Спасибо, помогло. Буду знать.
PM MAIL   Вверх
Platov
Дата 17.8.2009, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 23.7.2009

Репутация: 2
Всего: 2



Вот универсальный способ замены любых сообщений с ошибками на свои:

в листинг проги добавь
//---------------------------------------------------------------------------
void __fastcall TForm1::MyException(TObject *Sender,Exception *E)
 {
 AnsiString err=E->Message;
 err=err.Delete(1,err.Pos("#"));
 ShowMessage("Ошибка!\r\n\r\n        "+err);

 }

//---------------------------------------------------------------------------
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->OnException=MyException;
}
//---------------------------------------------------------------------------


ну и в заголовочный файл..

void __fastcall MyException(TObject *Sender,Exception *E);


Можно анализировать err и выдавать разные сообщения для разных ошибок
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.