From: George H. <geo...@us...> - 2006-05-26 12:42:58
|
Update of /cvsroot/win32forth/win32forth/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv5303/win32forth/src Modified Files: CALLBACK.f Log Message: gah: Added extra documentation Index: CALLBACK.f =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/CALLBACK.f,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CALLBACK.f 25 May 2006 09:20:41 -0000 1.7 --- CALLBACK.f 26 May 2006 12:42:38 -0000 1.8 *************** *** 9,12 **** --- 9,20 ---- \ *T Windows Callback support + \ *P The Windows operating system DLLs often needs application defined callbacks to be + \ ** supplied for certain jobs. Since it is written in C then it assumes the callback only + \ ** needs a single stack to work with, so Win32Forth must wrap a Forth word to allocate a + \ ** second stack and transfer the input arguments to it. It also sets up other registers + \ ** for Forth, including the USER pointer for the calling Task (Versions of Win32Forth prior + \ ** to V6.06.xx always used the CONUSER pointer for this so callbacks were restricted to the + \ ** main (console) task only). It is important to remember a normal xt will not work as a callback. + \ *S Glossary *************** *** 110,114 **** : __CDECL ( -- ) \ w32f sys ! \ *G Turn on __cdecl type callback. __CDECLV ON ; --- 118,122 ---- : __CDECL ( -- ) \ w32f sys ! \ *G Turn on __cdecl type callback for the next callback only. __CDECLV ON ; *************** *** 229,235 **** 1 PROC DispatchMessage : HandleMessages { pMsg -- 0 } ! \ *G This is the callback which handles the messages send by windows to our \ ** Application. The chain MSG-CHAIN receives all messages. ! \ *P This callback is called by the console window and by WINPAUSE. pMsg TRUE msg-chain do-chain nip if pMsg Call TranslateMessage drop --- 237,243 ---- 1 PROC DispatchMessage : HandleMessages { pMsg -- 0 } ! \ *G This is the word which handles the messages send by windows to our \ ** Application. The chain MSG-CHAIN receives all messages. ! \ *P This word is called by WINPAUSE, and is also used as a callback by the console. pMsg TRUE msg-chain do-chain nip if pMsg Call TranslateMessage drop |