|
|
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Я использую: Delphi7, MySQL 5.0.6, ZeosDBO-6.6.3. Компонент для соединения ZConnection библиотеки ZeosDBO. Никак не получается с try / except... Как только не пробывал делать!!! form1.Zconnection1.connect; try showmessage('server connect'); except form1.Zconnection1.disconnect; showmessage('server error connect'); end; Все равно вылазиет системная ошибка типа: project raised exception class ezsqlexception with message 'can't connect mysql server on 192.168.1.202 (10065). process stoped.' С try / finally таже самая фигня. Если этот код использовать для открытия обычного файла на диске, то все прекрасно работает. Правда для этого надо будет еще директивы использовать {$I- или +}. А с коннектом никак не хочет. Может там код ошибки можно как нибудь вручную сбросить, типа error:=0 если программно никак нельзя перехватить системное сообщение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 14:48 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Dean-2005, Сдается мне, тебе надо try написать на строчку выше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 15:17 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
10065 - No route to host (Нет маршрута к хосту). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 15:38 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Да я вкурсе что нет маршрута к хосту... я сам шнурок втыкаю! =))) Как перехватить ошибку эту? кто нибудь пользовался ZEOSDBO вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 15:54 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Dean-2005Как перехватить ошибку эту? кто нибудь пользовался ZEOSDBO вообще?ДжекНепотрошитель ответил тебе уже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2009, 15:58 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
не работает, то что он ответил. Поэтому и спрашиваю! Ерунду в таком случае просьба не предлагать, все глупые варианты уже давно были проверены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 09:05 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Может надо реализовать проверку наличия сети ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 09:32 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
to Lavrenty идея интересная, сразуже проверил. Физическое соединение оставил не тронутым(кабель), т.е. коннект всегда есть. Теперь вручную остановил службу MySQL сервера. при попытке соединиться с сервером программа все равно выдает ошибку соединения. Точно такую же, только код изменился с 10065 на 10061. А так все равно не получается перехватить. ХЕЛП!!! :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 15:17 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Dean-2005project raised exception class ezsqlexception если Zeos при неудачном коннекте поднимает эксепшн, а не выводит showmessage сам, то этот эксепшн будет обрабатываться в try..except. может, вы просто из-под дельфей проверяете? со включенным "Stop on Delphi exceptions"? запустите не из среды. не должно там эксепшена быть, если сделать, как говорил ДжекНепотрошитель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 15:25 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Сдается мне, что топикстартер просто не отличает debug exception от runtime, вот и кажется ему что ничего не отлавливается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 15:27 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
x77, три секунды :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 15:28 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
misha mike, :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 15:42 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
А как перехватываешь? -- http://www.podgoretsky.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 15:55 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Dean-2005не работает, то что он ответил. Поэтому и спрашиваю! Ерунду в таком случае просьба не предлагать, все глупые варианты уже давно были проверены. Работает. Только а) Пока у тебя в Delphi включена опция Stop on language exceptions, он всегда будет останавливать программу, независимо от твоей обработки б) Если у тебя произошло исключение на Connect, то делать в блоке except Disconnect - скорее всего приведет ко второму исключению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2009, 18:39 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Простите, но даже если запускать приложение не из Делфи, а из самой Винды екзешник, то все равно выдает ошибку типа Showmessage с выше упомянутым содержимым. Т.е. как говорил товарищ "х77" недолжно быть... но призапуске не из среды эксепшн все равно есть, причем с шовмессажем. Про отключенный флажок "Stop on Delphi exceptions" ничего сказать не могу, т.к. вообще не могу найти где он находится... В опциях проекта не увидел и в категории меню ТУЛС тоже не нашел. Подскажите мне глупому где его найти... =) У меня седьмая делфа. Может у кого рабочий исходник есть с использованнием ZEOSDBO, а то я уже несколько дней бьюсь в пустую казалось бы над глупыми ошибками. Стабильность в работе приложения просто нужна, вот и долбаюсь над разными проверками ситуаций. то "ДжекНепотрошитель" ... Связку try\exception не использую, т.к. вы правильно сказали про второе исключение. Использую try\finally. Спасибо всем за бурные обсуждения в топике, уповаю на вашу помощь! ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 11:30 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
С каким именно и как вылавливаешь? Думаешь мы будем гадать о твоем коде? -- http://www.podgoretsky.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 11:52 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
У меня работает на Delphi2007, MySQL 5.1.37, ZeosDBO-6.6.5. Проблем не замечено, ezsqlexception не появляется. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 13:22 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
blackapple, спасибо попробую! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 13:40 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
to BLACKAPPLE... Не смешно!!! :( Код точно такойже как и твой. За тем исключением, что настройки сервера уже установлены в свойствах компонента Zconnection. Код такой: procedure TForm1.Button1Click(Sender: TObject); begin try ZConnection1.Connect; ShowMessage('Соединение установлено!'); except showMessage('Ошибка!'); end; end; В результате выполнения вылазиет злосчастная ошибка эксепшн, а из своих сообщений из кода ничего не появляется. Она сразу все стопорит. Если не секрет, ты сам пробовал этот код в случаях: 1-когда нет физического соединения (выдернули шнур сетки); 2- остановлена вручную служба MySQL сервера (типа сервер сбоит, но при этом соединение аппаратное все равно есть)? Просто интересно... Я уже даже переустановил компоненты ZEOSDBO до версии 6.6.5. Вдруг там жуки есть, мало ли что. И все равно таже фигня. К сожалению версии MySQL 5.1. и Delphi2007 у меня нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 14:23 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Кроме исключение, что еще на экран выскакивает? -- http://www.podgoretsky.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 14:35 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
И проверка должна делаться не из Дельфи -- http://www.podgoretsky.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 14:36 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Anatoly PodgoretskyКроме исключение, что еще на экран выскакивает? вылазиет системная ошибка типа: project raised exception class ezsqlexception with message 'can't connect mysql server on 192.168.1.202 (10065). process stoped.'. Ошибка в виде окна типа - DialogMessage. Программа делает аварийное завершение работы с нажатием CTRL+F2 для возврата в нормальный режим. На форме расположен только один компонент ZEOSDBO ZConnection. Нужно убрать всплывающую ошибку данного типа, если сеть повреждена или сервер MySQL остановлен. При рабочем сервере и сетке все прекрасно работает!!! Но задача отловить ошибку в случае разрыва соединения или сбоя на сервере. Тупо один try\except или try\finally не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 15:10 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Dean-2005, Да проверял во всех перечисленных тобой случаях. 1. При подключении указывал не существующий хост 2. Подключал на localhost Служба MySql остановлена. Переустанови компонент ZeosDBO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 15:27 |
|
||
|
как реализовать проверку на разрыв соединения с сервером?
|
|||
|---|---|---|---|
|
#18+
Dean-2005Программа делает аварийное завершение работы с нажатием CTRL+F2 для возврата в нормальный режим.Вы вообще не читаете что вам пишут?ДжекНепотрошительРаботает. Только а) Пока у тебя в Delphi включена опция Stop on language exceptions, он всегда будет останавливать программу, независимо от твоей обработки б) Если у тебя произошло исключение на Connect, то делать в блоке except Disconnect - скорее всего приведет ко второму исключению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2009, 15:32 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=36333053&tid=2038201]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
154ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 479ms |

| 0 / 0 |
