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.
>


Reply via email to