Original date:2016-09-16 14:33:34 Edited by: petelomax Subject: Re: Trying Phix

sergelli said...

What should I do to solve this error?

        for i=1 to length(a) do 
                          ^ incompatible type for routine signature 
...included by C:\euphoria\win32Lib\Include\w32support.e, line 4 
...included by C:\euphoria\win32Lib\Include\win32lib.ew, line 574 
...included by c:\001We\00We\we.exw, line 156 
    return floor(remainder({a,a/#10000},#10000)) 
                 ^Warning: sq_rmdr assumed 

Phix\demo\win32lib\w32utils.e contains

--PL 27/07/09: (DEV: untested) 
--      for i=1 to length(a) do 
        for i=1 to length(b) do 

(in both w32remainder() and w32round())
Rather cleverly and quite correctly, the Phix compiler has spotted a bug in the code for you that OE completely missed, albeit one that no-one has ever reported, either.

You could get rid of the other warning with either

    return sq_floor(sq_rmdr({a,a/#10000},#10000)) 

or, more compatible with OE,

    return {floor(remainder(a,#10000)),floor(remainder(a/#10000,#10000))} 

I personally ditched win32lib over a decade ago, I think arwen is better, but still windows 32 bit only, and plan on using pGUI (32/64 bit, and win/lnx) from now on.
You may or may not find using the demo\win32lib\ version goes better than the one you have installed for OE, but it may not be the latest version.

Oh - I just checked and actually Phix ships with demo\win32lib6\, which is even older, v0.60.6 from 2004, and there's no w32utils.e in that version.
Then again, I suppose I should just say outright that I have no time or sympathy for anyone who "cannot live without win32lib"!
Nah - that's too harsh. Instead I'll say "If you need a later Phix-compatible win32lib, tell me the version and I'll see what I can do."


Not Categorized, Please Help


Quick Links

User menu

Not signed in.

Misc Menu