Invalid Page Fault With Win32::GUI Under Win98

  • Thread starter Robert James Kaes
  • Start date
R

Robert James Kaes

Hi All,
I'm trying to experiment with Win32::GUI using ActiveState Perl 5.8.4
(build 810) under Windows 98. I'm trying to follow the examples in the
Win32::GUI tutorial, but the first example in the tutorial is failing.

use Win32::GUI;
use strict;
use warnings;

my $main = Win32::GUI::Window->new(-name => "Main", -width => 110, -height => 100);

# This line is failing
$main->AddLabel(-text => "Hello, world");
$main->Show();

Win32::GUI::Dialog();
exit;

# terminate the message loop when the window is closed
sub Main_Terminate { -1 }

The AddLabel line is causing an illegal operation error with the
following message:

PERL caused an invalid page fault in
module MSVCRT.DLL at 0167:78002fc5.

I installed Win32::GUI using the PPM system. If I removed the AddLabel
line, the script runs and displays the empty window.

Has any one else experienced a problem like this? Is this a known
problem, with a known work-around? Does Win32::GUI just not work under
Windows 98? Thanks for any help you can provide.
-- Robert
 
M

Matt Garrish

Robert James Kaes said:
Hi All,
I'm trying to experiment with Win32::GUI using ActiveState Perl 5.8.4
(build 810) under Windows 98. I'm trying to follow the examples in the
Win32::GUI tutorial, but the first example in the tutorial is failing.

use Win32::GUI;
use strict;
use warnings;

my $main = Win32::GUI::Window->new(-name => "Main", -width => 110, -height => 100);

# This line is failing
$main->AddLabel(-text => "Hello, world");


Please don't post to two groups and set the followup to only one; it's
really not a nice thing to do. You'll catch people (like me) unaware at
times and making me post another message is almost enough to get you
ignored.


You forgot to give the control a name:

$main->AddLabel(-text => "Hello, world",
-name => 'myLabel');

Should work when you make that correction.

Matt
 
R

Robert James Kaes

Please don't post to two groups and set the followup to only one; it's
really not a nice thing to do. You'll catch people (like me) unaware at
times and making me post another message is almost enough to get you
ignored.

Sorry about that. My bad.
You forgot to give the control a name:

$main->AddLabel(-text => "Hello, world",
-name => 'myLabel');

Should work when you make that correction.

Yes, that fixed the problem. The Win32::GUI tutorials should probably be
fixed to mention this fact. Also, it turns out I was using an older
version of Win32::GUI that contained this bug. Newer Win32::GUI packages
contain a bug fix to prevent the crashing even if the "-name" field is not
present.

Thanks for you help.
-- Robert
 

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,755
Messages
2,569,535
Members
45,007
Latest member
obedient dusk

Latest Threads

Top