How to update the GUI

R

Roland Mösl

I am just migrating a software from
a 11 year old version from active Perl.

This 11 year old version can not be direct installed on Windows 7 - 64 Bit.

The main migration problem is the behavior of the GUI updates
during the software operates.

During long task, can be up to 2 hours,
the old Perl version shows updates on the GUI,
so the user is informed about the progress of the work.

I installed now
ActivePerl 5.12 - Windows x86

The old software runs, but the only major problem:

The GUI does not update during long tasks.
The GUI updates only when PERL waits for the
next user interaction.

How to force during the software works
updates of the GUI display?
 
R

Roland Mösl

Which version of Perl were you using previously?

ActiveState built 522 from 1999
Which version of Windows?

This had been used under Win 95, Win 98, Win XP
and now under Windows 7 64 Bit.

Only the installer does not work under Windows 7 64 Bit.

I transferred with Laplink PC-Mover
the installation from my old Win XP to my new notebook
Have you tried 5.12 under whatever version of Windows you were using
before?

I tried to migrate also 2002, but I was not able to
solve the same problem, the GUI updates.
What GUI toolkit are you using?

HTA = Hyper Text Application
using MSIE as GUI

Looks like

<html><head><title>WSC - Web Site Compiler - loading...</title>

<HTA:APPLICATION ID="oHTA"
applicationname="APPLICATIONNAME"
icon=ICONPATH
scroll=no
singleInstance=yes
windowstate=maximize />


<script language=PerlScript>

use strict "vars";
use strict "refs";
use strict "subs";
use Win32::Shell;

&init();
Please post a minimal program that exhibits this problem.

I use for example updates of the title like

$main::window->document-> { "title" } = "Just working on folder/file";

This statements are all around the program, for example
during editing a page:

$main::window->document-> { "title" } = "Edit at folder/file";

Than I start the software for a long task,
for example to create out of the database 2000 html pages

During this long task, the title should be changed
to show the progress of the work

$main::window->document-> { "title" } = "Creating hmtl at 2000/index";
...
...
$main::window->document-> { "title" } = "Creating hmtl at 2010/index";

And when the task is finished again

$main::window->document-> { "title" } = "Edit at folder/file";


But at Perl 5.12, I see always onle "Edit at folder/file"
instead of the progress messages.

I also use innerHTML to show a progress bar

$main::window->document->all->message-> { 'innerHTML' } =
$compile::progress;

Same effect, never saw this display under Perl 5.12
 
P

Peter J. Holzer

Quoth =?UTF-8?B?Um9sYW5kIE3DtnNs?= said:
Quoth =?ISO-8859-1?Q?Roland_M=F6sl?=<[email protected]>:
I am just migrating a software from
a 11 year old version from active Perl.
[...]
I tried to migrate also 2002, but I was not able to
solve the same problem, the GUI updates.

I don't understand what you mean here. What is '2002'?

The year 2002. So the problem probably already existed in 5.8.0 or
5.6.1.

hp
 
R

Roland Mösl

Which version of *perl* is that? 5005?

Perl 5
If so you should have upgraded
a long time ago.

This was not possible, because of the GUI problem
I presume you mean the ActiveState installer for the old build of perl?

Yes, the installer of the 1999 version is 16 bit software
not possible to run under 64 Bit Windows 7
So, let me get this straight:

5005 on WinXP works correctly
5005 on Win7 works correctly
5.12 on Win7 fails

Yes, the GUI update problem
Have you tried using 5.12 on WinXP?

I have installed 5.12 on my old Win XP notebook
to test

Save this as example.hta

<html>
<head>
<title>Example for GUI Update problem</title>

<HTA:APPLICATION ID="oHTA"
applicationname="Example for GUI Update problem"
icon=../pic/wds.ico
scroll=no
singleInstance=yes
windowstate=maximize />

</head>
<body>

<h1> This example shows the problem with the GUI update</h1>

<script language="PerlScript">

use strict "vars";
use strict "refs";
use strict "subs";

$main::window->document-> { "title" } = "Changing title after start";

my $second;

for ( $second = 1; $second < 15; $second++ )
{
sleep ( 1 );
$main::window->document-> { "title" } = "Changing title after $second
seconds";
}

$main::window->document-> { "title" } = "You should have seen changing
this title every second";

</script>

</body>
</html>
 
R

Roland Mösl

<sigh> Perl 5 *point* *what*? Please post the output of perl -v for the
old perl.

Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Roland Mösl>perl -v

This is perl, version 5.005_03 built for MSWin32-x86-object
(with 1 registered patch, see perl -V for more detail)

Copyright 1987-1999, Larry Wall

Binary build 522 provided by ActiveState Tool Corp.
http://www.ActiveState.com
Built 09:52:28 Nov 2 1999
So Peter is correct in suggesting that this is not a problem with
upgrading to 5.12, but rather a problem with upgrading to 5.6? Have you
checked the PerlScript docs to see if anything changed between 5005 and
5.6? Given the core perl changes that happened at that time I wouldn't
be the least bit surprised if PerlScript had to change as well.

I checked this in several attempts 2002 to solve the problem
with the GUI update.

I had no success.

But now is the situation critical, because
more and more of my clients will migrate to a Win7 64 Bit,
and it's very complicate to install with the PC-mover trick

Regardless what windows version, there is this GUI update problem
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top