Отключение вывода ошибок в Delphi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by 2pick, 3 Jul 2007.

  1. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    Сижу пишу ирк-бота на delphi через компонент IdIRC-Client (набор Indy) но вот столкнулся с такой траблой... Если комп не соеденён с инетом, а клиент цепляется с серваком (соответственно сервак не может быть найден), то выскакивает сообщение об ошибке (что-то связаное с сокетами). Хотелось бы узнать как можно отрубить это сообщение у едрене-фене и вообще отключить все сообщения программы (об ошибках и т.п.)
     
  2. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    Очевидно, если сокетами управляет компонент, то искать это нужно в настройках компонента
     
  3. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    1. использовав блок
    try
    ...
    except
    2. Делать проверку на наличие коннекта с НЕТОМ
     
  4. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    Обрабатывай OnError и там ставь значение errorcode:=0; тоесть просто игнорируй ошибки.
     
  5. Jes

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    Там !по-моему! в опция компилятора на если на full release поставить ,прога ругаться перестанет ...
     
  6. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    Пробовал не помогает
    А делать проверку

    1. Прирост к файлу веса (этого мне не надо)
    2. Нет нормальных исходников для проверки подключения... так или иначе надо скачивать какую-то инфу с какого-то сайта, а это опять ошибки...
     
    #6 2pick, 3 Jul 2007
    Last edited: 3 Jul 2007
  7. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    OnSocketError есть... ставил туда sleep(100) не помогло. попробую сделать как ты говоришь
     
  8. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    Это где?
     
  9. Jes

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    посмотрел , такая опция тока в Borland Си компилаторе...(
     
  10. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    > 1. Прирост к файлу веса (этого мне не надо)

    да ладно? у тебя делфи-проэкт с Indy-компонентами а ты выгодаешь что-то из-за пары десятков байт?

    >2. Нет нормальных исходников для проверки подключения... так или иначе надо скачивать какую-то инфу с какого-то сайта, а это опять ошибки...

    очень просто, см. InternetGetConnectState()
     
  11. Ni0x

    Ni0x Elder - Старейшина

    Joined:
    27 Aug 2006
    Messages:
    338
    Likes Received:
    157
    Reputations:
    37
    делаешь отдельный поток в котором в бесконечном цикле вызываешь InternetGetConnectState()
     
  12. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    Спасибо, на работе завтра попробую... :)

    Гм, а для чего отдельный поток то делать, когда можно просто задержку прописать и видно этого не будет (заметно в смысле), а результат будет тот же?
     
  13. Ni0x

    Ni0x Elder - Старейшина

    Joined:
    27 Aug 2006
    Messages:
    338
    Likes Received:
    157
    Reputations:
    37
    я тебя не совсем понял. как ты представляешь себе задержку? ты хочешь каждый раз через определенное кол-во времени вызывать InternetGetConnectState()? намного легче сделать в отдельном потоке без всяких задержек и прочего.
     
  14. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    Будет проц жрать без задержек...
    просто sleep(100) и нормально
     
  15. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    Всё сделал... поставил InternetGetConnecState(), но т.к. даже если комп подключен просто к локалке, то это сработает... поэтому поставил ещё
    try
    ...
    except
    +для скрытности поставил свойства формы HIDE (если кому надо выложу часть исходника с этим бардаком...), кстати говоря, HIDE полностью решает проблему, т.к. не выводит никаких сообщений об ошибках, но всё же чтоб не выскакивало из процедуры, в которой происходит ошибка нужно ставить try
     
    2 people like this.
  16. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    Блин... всё равновылазит после некоторого времени... примерно через минут 10-20 за это время около 100 обращений происходит к ирк-серверу...
     
  17. Ni0x

    Ni0x Elder - Старейшина

    Joined:
    27 Aug 2006
    Messages:
    338
    Likes Received:
    157
    Reputations:
    37
    ну так выложи исходники и подробнее распиши суть проблемы
     
  18. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    Так и сделаю... просто все исходники у меня на работе. А с собой я их не таскаю
     
  19. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    Всё... разобралсяв чём мазабыла. :)
     
    #19 2pick, 5 Jul 2007
    Last edited: 6 Jul 2007