Re: win32lib et multitasking
- Posted by chadal <francois.chadal at girce.caisse-epargne.fr> Nov 16, 2006
- 706 views
After différents tests to search more in depth, i've activated the trace function with the parameter 3. Results of the ex.err and ctrace.out files are below. But what is the real statement in error ? François Chadal What i see in the ex.err file is : ---------------------- TASK ID 0 initial task ---------------------------- D:\EUPHORIA\Biblio\win32lib\Include\Win32Lib.ew:31798 in function fDoTimer() A machine-level exception occurred during execution of this statement id = <no value> hWnd = <no value> iMsg = <no value> wParam = <no value> lParam = <no value> pReturn = <no value> here the Euphoria code of the fDoTimer() function of in the win32lib program:
---------------------------------------------------- function fDoTimer(integer id, atom hWnd, atom iMsg, atom wParam, atom lParam, atom pReturn) ---------------------------------------------------- VOID = invokeHandler(id, w32HTimer,{wParam} ) return {pReturn} <-- ligne 31798 of win32lib.ew end function
What i see in ctrace.out file just before the end tag is: w32dll.ew:266 if funcid > kMagicRtnID then w32dll.ew:267 funcid -= kMagicRtnID w32dll.ew:268 if funcid <= length(vw32Routines) then w32dll.ew:269 lFuncDef = vw32Routines[funcid] w32dll.ew:271 if sequence(lFuncDef) then w32dll.ew:288 c_proc(lFuncDef, parms) w32dll.ew:182 trace_funcid = funcid w32dll.ew:183 trace_parms = parms w32dll.ew:185 memset = 0 w32dll.ew:186 for i = 1 to length(parms) do w32dll.ew:187 if sequence(parms[i]) then w32dll.ew:193 end for w32dll.ew:187 if sequence(parms[i]) then w32dll.ew:193 end for w32dll.ew:187 if sequence(parms[i]) then w32dll.ew:193 end for w32dll.ew:187 if sequence(parms[i]) then w32dll.ew:193 end for w32dll.ew:194 if funcid > kMagicRtnID then w32dll.ew:195 funcid -= kMagicRtnID w32dll.ew:196 if funcid <= length(vw32Routines) then w32dll.ew:197 lFuncDef = vw32Routines[funcid] w32dll.ew:199 if sequence(lFuncDef) then w32dll.ew:217 lRC = c_func(lFuncDef, parms) w32dll.ew:228 if memset != 0 then w32dll.ew:232 return lRC w32dll.ew:300 trace(0) === THE END ===