|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Окт 8, 2004 14:02:01 По непонятной причине не работает код: include '%fasminc%/win32ax.inc' .data TID dd 0 .code start: invoke SetTimer,NULL,NULL,1000,TimerProc mov [TID],eax jmp $ invoke ExitProcess,0 proc TimerProc, hwnd, uMsg, idEvent, dwTime int3 invoke KillTimer,0,[TID] invoke MessageBox, HWND_DESKTOP,'!','!', MB_OK return endp .end start Управление TimerProc почему-то не передаётся... |
|
|
Дата: Окт 8, 2004 14:22:12 · Поправил: bogrus Конечно , а где MSG , где GetMessage(WM_TIMER)-DispatchMessage ? см. пример http://wasm.ru/forum/index.php?action=vthread&forum=4&topic=5265&page=1#7 з.ы. если будут проблемы с MessageBox , читать тут http://wasm.ru/forum/index.php?action=vthread&forum=4&topic=7041 |
|
|
Дата: Окт 9, 2004 09:19:58 >invoke SetTimer,NULL,NULL,1000,TimerProc А OFFSET TimerProc где? |
|
|
Дата: Окт 9, 2004 13:01:33 Если не заметно, то компилятор FASM |
|
|
Дата: Окт 9, 2004 19:09:14 Не буду вникать, но однажды была похожая проблема, возможно поможет первый ручной вызов функции таймера. |
|
|
Дата: Окт 10, 2004 11:50:27 bogrus прав. Если этот код без изменений вставить в программу, создающую окно, то все работает. А в этом варианте, мне кажется, если бы процедура и вызывалась, то через 1000 мс, а к тому времени процесс бы уже завершился. |
|
|
Дата: Окт 10, 2004 18:58:41 Не завершится. ... jmp $ invoke ExitProcess,0 ... |
|
|
Дата: Окт 11, 2004 04:12:08 ProgramMan Не завершится. ... jmp $ invoke ExitProcess,0 ... Так прога просто зависает в бесконечном цикле и не может получить отправленное сообщение WM_TIMER, как мне кажется. |
|
|
Дата: Окт 11, 2004 07:55:32 В продолжение bogrus. MSDN.COM: When you specify a TimerProc callback function, the default window procedure calls the callback function when it processes WM_TIMER. Therefore, you need to dispatch messages in the calling thread, even when you use TimerProc instead of processing WM_TIMER. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.063 |