MAV & Hibernate
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 22 раза
- Контактная информация:
MAV & Hibernate
Можно ли в MAV как то после Гибернации восстановить подключение? А то проги все валятся после сна.
Спасибо
Спасибо
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Andrew Listiev
- Активист
- Сообщения: 166
- Зарегистрирован: 07 Июль 2005, 11:16
- Откуда: Латвия, Рига
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: MAV & Hibernate
Компьютер с ОС Windows можно не выключать а переключать в режимы разные типа ожидания, когда винты останавливаются и т.д.
Так же есть режим сна, когда память сбрасывается на винт и комп мухой отрубается. После включения все программы находятся в памяти как будто ты не выключался.
Я думаю все понятно? Так вот после просыпания из этого режима соединение с SQL сервером разорвано.
Как бы его незаметно восстановить...
Так же есть режим сна, когда память сбрасывается на винт и комп мухой отрубается. После включения все программы находятся в памяти как будто ты не выключался.
Я думаю все понятно? Так вот после просыпания из этого режима соединение с SQL сервером разорвано.
Как бы его незаметно восстановить...
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Andrew Listiev
- Активист
- Сообщения: 166
- Зарегистрирован: 07 Июль 2005, 11:16
- Откуда: Латвия, Рига
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: MAV & Hibernate
Апнем тему.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Re: MAV & Hibernate
проверяй регулярно что то типа: (главное, чтобы не ресурсоёмкий запрос был)
IF MAVLOAD('select getdate()',datetimefield)
MAVDISCONNECT
If MAVCOMEMECT(ConnectName,ConnectString)
MAVSHOWERROR
END
END
IF MAVLOAD('select getdate()',datetimefield)
MAVDISCONNECT
If MAVCOMEMECT(ConnectName,ConnectString)
MAVSHOWERROR
END
END
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: MAV & Hibernate
Понятно... найти бы событие которое прогам разбегается при восстановлении винды из гибернейта еще...Andrew™ писал(а):проверяй регулярно что то типа: (главное, чтобы не ресурсоёмкий запрос был)
IF MAVLOAD('select getdate()',datetimefield)
MAVDISCONNECT
If MAVCOMEMECT(ConnectName,ConnectString)
MAVSHOWERROR
END
END
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Andrew Listiev
- Активист
- Сообщения: 166
- Зарегистрирован: 07 Июль 2005, 11:16
- Откуда: Латвия, Рига
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: MAV & Hibernate
Всем спасибо. Все работает как доктор прописал...
Код: Выделить всё
PROGRAM
INCLUDE('equates.clw'),ONCE
INCLUDE('errors.clw'),ONCE
INCLUDE('keycodes.clw'),ONCE
INCLUDE('mav.inc'),ONCE
MAP
MODULE('MAV SQL')
INCLUDE('mavsql.inc'),ONCE
INCLUDE('mavfunc.inc'),ONCE
END
MODULE('Windows API')
GetWindowLong(UNSIGNED, SIGNED), LONG, PASCAL, NAME('GetWindowLongA')
SetWindowLong(UNSIGNED, SIGNED, LONG), LONG, PASCAL, NAME('SetWindowLongA')
CallWindowProc(ULONG,UNSIGNED,UNSIGNED,UNSIGNED,LONG),PASCAL,LONG,NAME('CallWindowProcA')
END
MAVCallBack(UNSIGNED,UNSIGNED,UNSIGNED,LONG),LONG,PASCAL
ConnectProc
END
DbManager MAVConnectManager,NAME('MAV$DbManager')
DbFiles MAVFiles,NAME('MAV$DbFiles')
ConnectString CSTRING(200)
Result STRING(200)
DataQueue QUEUE
GoodsName STRING(50)
END
PrevCallBack LONG
GWL_WNDPROC EQUATE(-4)
WM_POWERBROADCAST EQUATE(0218h)
PBT_APMRESUMESUSPEND EQUATE(7)
Window WINDOW('MAV Resume'),AT(,,287,176),FONT('Tahoma',8,,FONT:regular,CHARSET:CYRILLIC),CENTER,GRAY, |
RESIZE
LIST,AT(7,7,274,143),USE(?List1),VSCROLL,FORMAT('20L(2)|M~GoodsName~@S255@'),FROM(DataQueue)
BUTTON('Reconnect'),AT(6,156,45,14),USE(?ButtonReconnect)
BUTTON('Clear'),AT(54,156,45,14),USE(?ButtonClear)
END
CODE
OPEN(Window)
PrevCallBack = SetWindowLong(Window{PROP:Handle}, GWL_WNDPROC, ADDRESS(MAVCallBack))
ConnectProc
ACCEPT
CASE ACCEPTED()
OF ?ButtonReconnect
ConnectProc
OF ?ButtonClear
FREE(DataQueue)
END
END
CLOSE(Window)
ConnectProc PROCEDURE
CODE
MAVDISCONNECT('MSSQL')
ConnectString = 'DRIVER={{SQL Server};SERVER=XXX;DATABASE=YYY;UID=ZZZ;PWD=PPP;App=AAA'
IF MAVCONNECT('MSSQL', ConnectString)
MAVSHOWERROR
RETURN
END
FREE(DataQueue)
IF MAVLOAD('SELECT TOP 100 G.GoodsName FROM Goods G', DataQueue)
MAVSHOWERROR
RETURN
END
MAVCallBack PROCEDURE(LOC:hWnd, LOC:usMsg, LOC:WParam, LOC:IParam)
CODE
IF LOC:usMsg = WM_POWERBROADCAST
IF LOC:WParam = PBT_APMRESUMESUSPEND
ConnectProc
END
END
RETURN CallWindowProc(PrevCallBack, LOC:hWnd, LOC:usMsg, LOC:WParam, LOC:IParam)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса