The forthcoming release of XPP 8.2 will involve upgrading the Perl environment to 5.10 - a much anticipated step in some quarters I believe!

Upgrading from ActivePerl 5.8.x to 5.10.x requires that you start afresh by first deleting the old version of ActivePerl. The 5.10.x distribution will then give you a new, base set, of Perl modules.

This seems to raise two issues

  • any modules that you installed after you installed 5.8.x will not be there any more (unless they are now in the 5.10.x distribution)
  • any modules that were present in your 5.8.x setup may be in your new 5.10.x setup but the version number and the functionality may have changed.

TK::DialogBox
I found an example of the second scenario in that the behaviour of the TK::DialogBox module had changed between the 3.032 version we had been running with under 5.8.x and the new version, 4.015, that came with ActivePerl 5.10.x
The problem showed itself by dialog boxes not being displayed!
From a bit of searching it seems that there was a problem in that dialog boxes could get hidden beneath main windows and that in 4.x this was fixed but a side effect was that if a main window is withdrawn then so is the dialog box.

This particular DialogBox issue shouldn't be a problem for you if you have stuck to using the XyEnterprise supplied library of useful subroutines as supplied in

$ENV{'XYV_EXECS'}/procs/util/xyscript.pl

when building your Job, Division, and Site Tools.
However if you have coded up your own dialog boxes when building your Tools then you may experience the same issue that I did.

The simple cure seems to be to use a transient method on your dialog box object before doing a withdraw of a main window.

So, whereas before I had something like this:

...
my $mainw = MainWindow->new;
$mainw->withdraw;
my $dialog = $mainw->DialogBox(
...
);
...

I now have:

...
my $mainw = MainWindow->new;
my $dialog = $mainw->DialogBox(
...
);
$dialog->transient('');
$mainw->withdraw;
...

I'd be pleased to hear about any other issues that you might be aware of in moving from 5.8.x to 5.10.x !