Well, I can make the current (failing) code available in the IUP repo but 
to run it implies installing the IUP lib, and IUP.jl which probably no one 
tested in other than Windows.

quarta-feira, 14 de Janeiro de 2015 às 15:30:20 UTC, Milan Bouchet-Valat 
escreveu:
>
> Le mercredi 14 janvier 2015 à 06:54 -0800, J Luis a écrit : 
> > I already fall in those two forms of troubles (double definition and 
> > double inclusion of the file where the type is defined) so I'm aware 
> > of it. As much as I can tell with grepping, that is not occurring 
> > now. 
> > Maybe a third (unknown to me) form of this type of issue? 
> Would you be able to create a reproducible example? 
>
>
> Regards 
>
> > quarta-feira, 14 de Janeiro de 2015 às 14:41:56 UTC, Keno Fischer 
> > escreveu: 
> >         Are you maybe accidentally defining cdCanvas twice or in two 
> >         different modules? 
> >         
> >         On Wed, Jan 14, 2015 at 3:40 PM, J Luis <[email protected]> 
> >         wrote: 
> >                 BTW, if that matters, 'ctgc' is a global variable. 
> >                 
> >                 quarta-feira, 14 de Janeiro de 2015 às 14:37:05 UTC, J 
> >                 Luis escreveu: 
> >                         Hi, thanks for looking into this. 
> >                         
> >                         If I make them show, as 
> >                         
> >                         @show ctgc.iup_canvas 
> >                             ctgc.iup_canvas = t 
> >                         @show t 
> >                         @show ctgc.iup_canvas 
> >                         
> >                         it 'shows' 
> >                         
> >                         ctgc.iup_canvas => Ptr{cdCanvas} 
> >                         @0x0000000000000000 
> >                         t => Ptr{cdCanvas} @0x0000000022c6d6c0 
> >                         ctgc.iup_canvas => Ptr{cdCanvas} 
> >                         @0x0000000022c6d6c0 
> >                         
> >                         which shows that type has not changed after 
> >                         the attribution and  that it has the correct 
> >                         return type of cdCreateCanvas(). 
> >                         That is why I initialized the ctgc type with 
> >                         
> >                         convert(Ptr{cdCanvas},0) 
> >                         
> >                         (see first member in my first post) 
> >                         
> >                         
> >                         quarta-feira, 14 de Janeiro de 2015 às 
> >                         13:39:21 UTC, Milan Bouchet-Valat escreveu: 
> >                                 Le mercredi 14 janvier 2015 à 05:32 
> >                                 -0800, J Luis a écrit : 
> >                                 > Hi, 
> >                                 > I have had quite some head-aches 
> >                                 with types (converted from C structs) 
> >                                 > but this one wins. 
> >                                 > 
> >                                 > I have this type (from IUP) 
> >                                 > 
> >                                 > 
> >                                 > type tCTC 
> >                                 >     iup_canvas::Ptr{cdCanvas} 
> >                                 >     w::Cint 
> >                                 >     h::Cint 
> >                                 > ... 
> >                                 > 
> >                                 > which I initialize as 
> >                                 > 
> >                                 > ctgc = tCTC( 
> >                                 >         convert(Ptr{cdCanvas},0), 
> >                                 >         int32(0), int32(0), 
> >                                 > ... 
> >                                 > 
> >                                 > and now the mystery. 
> >                                 > 
> >                                 >     t = 
> >                                 cdCreateCanvas(cdContextIup(), 
> >                                 IupGetHandle("cnvMain")) 
> >                                 >     ctgc.iup_canvas = t 
> >                                 >     cdActivate(t); 
> >                                 >     cdActivate(ctgc.iup_canvas); 
> >                                 > 
> >                                 > 
> >                                 > the last line in the chunk above 
> >                                 errors with 
> >                                 > 
> >                                 > 
> >                                 > ERROR: `cdActivate` has no method 
> >                                 matching cdActivate(::Ptr{cdCanvas}) 
> >                                 >  in CDTestInit at C:\programs\Gits 
> >                                 \IUP.jl\examples\cdtest_.jl:125 
> >                                 >  in cdtest at C:\programs\Gits 
> >                                 \IUP.jl\examples\cdtest_.jl:92 
> >                                 > 
> >                                 > 
> >                                 > So `t` and `ctgc.iup_canvas` are 
> >                                 actually two different entities 
> >                                 > (although their pointers are ofc the 
> >                                 same as I can see if I @show 
> >                                 > them)? 
> >                                 Well, you need to show us more 
> >                                 details, e.g. tell us what 
> >                                 cdCreateCanvas() does, and what type 
> >                                 it returns. The pointers might hold 
> >                                 the same address, but they still may 
> >                                 be of different types. @show should 
> >                                 make this visible, but without the 
> >                                 output we cannot check. 
> >                                 
> >                                 
> >                                 Regards 
> >                                 
> >         
> >         
>
>

Reply via email to