Hi, Yes, you right, i break TIED window property. You can reactivate it by changing in _new methods : my $self = tie %tier, $class, $oself; By : tie %tier, $class, $oself; my $self = bless \%tier, $class;
I mode this change when i want to add Window destruuction when undef a perl window reference. But, i have trouble when this feature is activated. You can replace hard coded window type constant by Win32::GUI::constant("WIN32__GUI__DIALOG", 0). Laurent > Hi Laurent, > > I got the compile working with the new SDK variables set up. (Lots of > other stuff going on, so slow progress. Nice to have CVS set up so I > can easily pick up and compile the latest changes now). > > So my first step was to test the new GUI, with a functioning OEM script. > It failed. > > Upon investigation, it seems that one used to be able to make a new window > > $mw = Win32::GUI::Window->new( -name => 'Main', ... ); > > and then add a button > > $but = $mw->AddButton( -name => 'b_nl', ..., -width => 24, ... ); > > And then do things like > > print "but-width: $but->{'-width'}\n"; > > and get back the 24. > > Now this always seemed very mysterious to me, because there was no data > member of the hash referenced by $but named '-width'. However, when I > had found the %TwoWayMethodMap in gui.pm which contained "-width" as one > of the entries, I convinced myself that this "fashionable" but not > understood technique was how the sort of print statement above could work. > > Unfortunately, the above code sequence doesn't work on the latest CVS > version. The print statement just prints "but-width:" without the 24 :( > So we need to decide if this is something we want to have keep working, > so that we can stay "fashionable". > > Clearly, I could call Width() directly, but the borrowed code would need > significant modification, because is uses many of the fashionable > techniques! > > The item below is clearly an internal, but I am less sure whether the > above behavior should be considered internal or external. > > So I also noticed that the object types got renumbered to remove the gap > after WIN32__GUI__DIALOG ... some code I'd borrowed had also depended on > that, but since it was just discriminating between WINDOW & DIALOG and > "all the rest", I could simply change the "> 10" test to "> 1", and that > works for all versions of Win32::GUI. >