Re: Eucom 2.05, namespace probs (sorry)

new topic     » goto parent     » topic index » view thread      » older message » newer message

Chris Burch wrote:
> 
> Hi
> 
> Probably all been hashed before - got here trying to get a handle on C++
> stuff! (don't ask how)
> 
> Any how, all of the demos have namespace resolving problems, and other errors
> namely :-
> 
> DxDemo.exw
> ==========
> D:\EUPHORIA\eucom\tk_mem.e:196
> A namespace qualifier is needed to resolve removeIndex.
> removeIndex is defined as a global symbol in:
>     d:\EUPHORIA\include\w32tk.e
>     D:\EUPHORIA\eucom\tk_misc.e
> 
>             pAllocated[kAddr][i] = removeIndex(lAddrSub, pAllocated[kAddr][i])
> 

If you have a clash with anything in w32tk.e, you can safely remove the
one in w32tk.e. This file just contains aliases for things that win32lib
used to be using but no longer does. 


> access.exw
> ==========
> CoCreateInstance Error: 80040154
> 80040154: Unknown error
> 
> D:\EUPHORIA\eucom\eucom.ew:658 in function get_pvtbl()
> subscript value 0 is out of bounds, reading from a sequence of length 0
> ... called from D:\EUPHORIA\eucom\eucom.ew:873 in function invoke()
> ... called from D:\EUPHORIA\eucom\access.exw:27
> --> see ex.err
> 
> 
> Browser.exw
> ===========
> d:\EUPHORIA\include\w32Kernel.ew:59
> A namespace qualifier is needed to resolve DWord.
> DWord is defined as a global symbol in:
>     D:\EUPHORIA\eucom\tk_mem.e
>     d:\EUPHORIA\include\w32support.e
> 
>   dwOSVersionInfoSize = w32allot(DWord),
>                                       ^

Win32lib does not get along nicely with tk_*.e files. I could put namespace
qualifiers on all the win32lib references but when one is looking at 35,000
lines of code, the task is a bit daunting. 

If at all possible, can eucom avoid tk_*.e or using namespace qualifiers?

> excel.exw
> =========
> D:\EUPHORIA\eucom\excel.exw:2
> can't find exceptions.ew in D:\EUPHORIA\eucom
> or in d:\EUPHORIA\include
> include exceptions.ew
>                       ^
> 
> 
> SHEET.exw
> =========
> D:\EUPHORIA\eucom\tk_mem.e:196
> A namespace qualifier is needed to resolve removeIndex.
> removeIndex is defined as a global symbol in:
>     d:\EUPHORIA\include\w32tk.e
>     D:\EUPHORIA\eucom\tk_misc.e
> 
>             pAllocated[kAddr][i] = removeIndex(lAddrSub, pAllocated[kAddr][i])
> 
> 
> Tbrowse.exw
> ===========
> D:\EUPHORIA\eucom\tk_mem.e:196
> A namespace qualifier is needed to resolve removeIndex.
> removeIndex is defined as a global symbol in:
>     d:\EUPHORIA\include\w32tk.e
>     D:\EUPHORIA\eucom\tk_misc.e
> 
>             pAllocated[kAddr][i] = removeIndex(lAddrSub, pAllocated[kAddr][i])
>                                               ^
> 
> 
> I am currently using w32lib 06 04
> 
> I do not use the euinc environment variable, and copy all the win32lib
> includes over to my include directory, and have all the old tk_*.e files
> there too from old win32libs.


Not a clever idea, really. It is a *lot* safer to use euinc. I think that
one of the entries in euinc can be a 'relative' path to the current folder.

  set EUINC=.\include;
 
-- 
Derek Parnell
Melbourne, Australia

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu