Phix : win32lib7
- Posted by ChrisB (moderator) Dec 12, 2016
- 1556 views
Hi Pete
As you know I'm converting win32lib 0.70.4 to work with Phix, as opposed to win32lib 0.60 (henceforth called win32lib7 and win32lib6).
I have had some success. So I have got advanc.exw to work, but have had to take out task_yield() (3 occurences) from win32lib.ew(7), as calling it gave this error
C:\euphoria\Phix\builtins\VM\pTask.e:610 in procedure task_yield() variable tasks has not been assigned a value t = <novalue> ... called from C:\euphoria\Phix\demo\win32lib7\win32lib.ew:24988 in procedure eventLoop() pData = {} temp = <novalue> msg = 44667884 getRC = 1 hDlg = 3605828 inc = <novalue> el = 1 lTock = 0 ... called from diag.e: symtab[1158] bad S_NTyp[3] C:\euphoria\Phix\demo\win32lib7\win32lib.ew:-1 in procedure WinMain() id = 3 style = 0 lInitFocus = -1 lRtnId = <novalue> lEventName = <novalue> lInitView = <novalue> ... called from C:\euphoria\Phix\demo\Win32Demo\Advanc.exw:105 etc.etc.....
looking through ptask, the reason tasks has not been assigned a value, is because a task has not been created, so I'm guessing that task_yield is a win32lib7 function. However, there is no win32lib(7) call to task_create(). My question is this - in Phix if a task has not been created, it looks like it will crash, but win32lib7 seems to want to yield tasks, even though it doesn't create them, so will commenting out win32libs task_yield cause a problem?
Cheers
Chris