Re: win32lib et multitasking
- Posted by Chris Bensler <bensler at nt.net> Nov 16, 2006
- 742 views
chadal wrote: > > 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: > }}} <eucode> > ---------------------------------------------------- > 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 > </eucode> {{{ > > 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 === Memory is being corrupted. Try using safe.e to debug memory leaks. Chris Bensler ~ The difference between ordinary and extraordinary is that little extra ~ http://empire.iwireweb.com - Empire for Euphoria