|
|
|
API функция в место Timer
|
|||
|---|---|---|---|
|
#18+
API функция в место Timer.Есть ли такая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 12:36 |
|
||
|
API функция в место Timer
|
|||
|---|---|---|---|
|
#18+
А чем фоксовый не устраивает ? Можно так: DECLARE LONG SetTimer IN win32api LONG,LONG,LONG,LONG DECLARE LONG KillTimer IN win32api LONG,LONG PUBLIC oHandler,nhwnd,timerid,timertimeout nhwnd=_screen.hwnd timerid=1 timertimeout=5000 SetTimer(nhwnd,timerid,timertimeout,0) oHandler=NEWOBJECT("myhandler") WM_TIMER=275 BINDEVENT(nhwnd,WM_TIMER,oHandler,'mytimer',0) DEFINE CLASS myhandler AS custom PROCEDURE mytimer PARAMETERS p1,p2,p3,p4 KillTimer(nhwnd,timerid) IF MESSAGEBOX('Время '+TIME()+' Убить таймер ?',4+32+256,'Вопрос')=7 SetTimer(nhwnd,timerid,timertimeout,0) ELSE UNBINDEVENTS(this) CLEAR DLLS ENDIF RETURN 0 ENDPROC ENDDEFINE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 16:07 |
|
||
|
API функция в место Timer
|
|||
|---|---|---|---|
|
#18+
Погодин, Вы пробовали запустить свой таймер... вернее 20 таких таймеров одновременно, когда время выполнения кода таймера меньше временит интервала его выполнения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 23:14 |
|
||
|
API функция в место Timer
|
|||
|---|---|---|---|
|
#18+
А если больше ? :) А если больше и на много? :)) Попробуйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 23:15 |
|
||
|
API функция в место Timer
|
|||
|---|---|---|---|
|
#18+
Ну так для этого я и убиваю таймер в начале выполнения процедуры а затем если нужно запускаю его снова. 20 конечно не пробовал но думаю все будет в порядке. Конечно для этого нужно создать 20 таймеров (timerid=1..20) и 20 объектов класса myhandler (oHandler1..oHandler20), либо разные классы с разными функциями - зависит от логики программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2007, 10:24 |
|
||
|
API функция в место Timer
|
|||
|---|---|---|---|
|
#18+
Не... Ерунду написал. Конечно BINDEVENT прицеплен к главному окну. Если нужно много таймеров придется делать по другому, например, создавать много форм (невидимых) и цеплять BINDEVENT к hwnd этих форм, или еще как-то... Все зависит от логики программы. Зачем так много таймеров ? И опять же, чем плох фоксовый таймер ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2007, 12:05 |
|
||
|
API функция в место Timer
|
|||
|---|---|---|---|
|
#18+
У SetTimer() второй параметр - ID, которое приходит в сообщении WM_TIMER только оно у вас почему-то всегда 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2007, 15:15 |
|
||
|
API функция в место Timer
|
|||
|---|---|---|---|
|
#18+
Ну так я и пишу выше - создавайте таймеры с ID 1...20 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2007, 15:30 |
|
||
|
API функция в место Timer
|
|||
|---|---|---|---|
|
#18+
А как найти hwnd для этих форм,что бы таймер работала с формой а не с главной экраном? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2007, 19:58 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34612359&tid=1589107]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
21ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 312ms |

| 0 / 0 |
