| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Как избавиться от сообщений об ошибках? |
| Автор: Alexzz 27.7.2008, 20:56 |
| Осваиваю связь через Tserversocket и Tclientsocket. Если например пытаться соединиться с другим компом, но там в тот момент не запущена программа, то возникает ошибка. Ну это нормально. Не нормально то, что прога при этом выдаёт мессагу об ошибке сокета. Формы try - except не помогают, так как соединение очевидно обрабатывается в другом потоке, который автоматически создаётся. У компонентов есть событие onError, если я прописываю туда обработчик, то выполняется и он, и затем всё равно выдаётся мессага. Вопрос - как избавиться от сообщений об ошибках? |
| Автор: VICTAR 27.7.2008, 21:48 |
| Какая ошибка? В onError помогает Error := 0 ps для таких вопросов есть раздел Сети |
| Автор: Alexzz 27.7.2008, 22:31 |
| VICTAR, вопрос не по ошибке, с ней всё понятно - если не с кем соединяться, то возникает ошибка. Вопрос о том, что-бы сделать обработчик ошибок и не бегать к компу жать на ок по каждой проблеме. Процедуре обработки ошибки передаётся переменная ErrorCode. Ты её имел в виду? Или именно Error? Ща попробую. з.ы. вопрос то не по сетям а по обработке ошибок. Добавлено через 6 минут и 33 секунды Ура!!! Огромное спасибо! ErrorCode:=0; в обработчике решило проблему. |
| Автор: Dobermann 4.12.2008, 22:11 |
| Не стал новую тему создавать. Чёт с EConvertError неполучается... Как сделать, чтобы в эдит нельзя было буквы вводить??? Всмысле как обработать эту ошибку?! У меня на эдите strtoint стоит, т.е. нужно чтобы выскакивало не системное сообщение, а мое! |
| Автор: Christoph 4.12.2008, 22:40 | ||
А так нельзя?
|
| Автор: Dobermann 4.12.2008, 22:52 | ||
Сперва вылетает мое сообщение, а затем все равно системное... |
| Автор: Christoph 4.12.2008, 23:15 |
| В такой ситуации не может вылетать ошибка, просто ты запустил под отладкой Ф9 нажал, а ты скомпиль и запусти отдельно ехе, все работает |
| Автор: MetalFan 4.12.2008, 23:15 |
| 1. Пользуй TryStrToInt. 2. Для разрешения ввода только цифр в едит установить стиль ES_NUMBER |
| Автор: Exai1e 4.12.2008, 23:43 | ||
| Dobermann, кнопка ф1 на клаве отсутствует ? http://delphi.about.com/library/rtl/blrtlTryStrToInt.htm Добавлено @ 23:45
|
| Автор: THandle 4.12.2008, 23:46 | ||||
Это стиль.
Добавлено через 2 минуты и 32 секунды Кстати оно во всех случаях одинаково используется... |
| Автор: Christoph 4.12.2008, 23:49 | ||
http://delphi.about.com/library/rtl/blrtlTryStrToInt.htm Та я пока написал |
| Автор: Exai1e 4.12.2008, 23:50 |
| ps. кто еще даст ответ ? или 3х уже достаточно ;) |
| Автор: Dobermann 5.12.2008, 01:05 | ||||
Мерси мальчики =*
Вот это работает! А если у меня 5 эдитов, то надо в пяти таких сообщениях стиля указывать по очереди все 5 эдитов??? Можно это автоматизировать или зациклить??? Или еще что-нибудь... Т.е.:
|
| Автор: Christoph 5.12.2008, 10:26 | ||
| Выделить все Edit в Object TreeView и затем создать событие OnEnter и это событие будет общим для всех Edit ов Вот что получится:
|
| Автор: THandle 5.12.2008, 10:35 | ||
| Christoph, зачем каждый раз при вхождении назначать всем Edit'ам стили??? Назначить всем Edit'ам один OnEnter и написать что-то типа:
Хотя постоянные проверки... Надо в OnCreate всем Edit'ам и устанавливать стиль |
| Автор: Dobermann 5.12.2008, 10:36 |
| Ну я так и понял... |
| Автор: Christoph 5.12.2008, 10:39 |
| ыыы не подумал Кста по поводу то что не работает блок try except, ниже проект |
| Автор: Dobermann 5.12.2008, 11:36 |
| Разобрался! Просто у меня еще и после try - except шло повторное считывание с эдитов =) чёт я его не заметил... Сё работает! Пасыбо! |
| Автор: Exai1e 5.12.2008, 12:46 |
да мб даже дело не в этом, а в том что код выглядт приятнее у хэндла и правильнее. |
| Автор: Dobermann 5.12.2008, 12:52 |
Да, только вот у меня 10 точек, по 2 координаты - и того 20 эдитов... |
| Автор: THandle 5.12.2008, 12:59 |
| Dobermann, присвой всем Edit'ам в которые нужно вводить только цифра Tag := 1; В OnCreate пробегайся по контролам и если это TEdit и его Tag = 1, то ставь ему стиль. Добавлено через 9 минут и 5 секунд Кстати, а не лучше использовать TStringGrid?? |
| Автор: Dobermann 5.12.2008, 17:21 | ||
Неа, я так делал, с эдитами красивее =)
Вообще не понял...ни что - чему присваивать, ни с контролами =( |
| Автор: THandle 5.12.2008, 17:36 | ||||
http://podgoretsky.com/OtherParts/DM/BadTips.aspx Пункт 7.
Всем Edit'ам присваивай Tag. Свойство у них такое. В единичку ставь. А потом бегай по ним как нить так(не лучший вариант имхо):
|
| Автор: MetalFan 5.12.2008, 18:37 |
| а еще лучше поставь "купи" и поставь 2009 делфю, там вроде уже это св-во добавлено в VCL |
| Автор: Dobermann 5.12.2008, 19:11 | ||
У меня борландская 7-ая |
| Автор: xfoby 20.4.2009, 19:09 |
| Christoph, не издевайся над человеком...зачем это в onEnter? ставь это в onCreate, а для зацикливания поработай с ControlIndex у родительского контрола |
| Автор: Christoph 20.4.2009, 20:19 |
| ыч не понял |
| Автор: xfoby 21.4.2009, 01:11 |
| Хахахаха)) Christorph, я ту мессагу написал сразу после поста про изменение стиля по onEnter...долго не мог понять, что у меня с инетом - сообщение не отображалось xD а теперь появилось...очень своевременно xD xD |