DMD calling incorrect method

Tom S h3r3tic at remove.mat.uni.torun.pl
Fri Mar 3 01:14:32 PST 2006


Tyler Knott wrote:
> In article <du8f49$gnm$1 at digitaldaemon.com>, Walter Bright says...
> 
>>The most likely cause of this is the source import files getting out of sync 
>>with the binary library files or dll's linked in. For instance, if a method 
>>was added in the source file, but the library file wasn't recompiled, then 
>>all the offsets for the member functions will be off. 
>>

> That's what I though too, but even when I remove every trace of DWT (.libs,
> imports, even the documentation and example programs) from my system, and
> reinstall/build the latest version from scratch it still gives me an access
> violation and builds with the wrong offset.  I'll test this on another computer
> tomorrow (with a fresh install of DMD and DWT).

Seems like a problem we've been battling on #D with Lars and Ant that 
occured in DUI. The reason seemed to be imports that are done inside 
classes. I took a quick peek at DWT sources and indeed, at least the 
Widget class has imports inside its body. Try moving them to the global 
scope and see what happens.


-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d-pu s+: a-->----- C+++$>++++ UL P+ L+ E--- W++ N++ o? K? w++ !O 
!M V? PS- PE- Y PGP t 5 X? R tv-- b DI- D+ G e>+++ h>++ !r !y
------END GEEK CODE BLOCK------

Tomasz Stachowiak  /+ a.k.a. h3r3tic +/



More information about the Digitalmars-d-bugs mailing list