Help in using AxWindows

Help in using AxWindows

am 23.08.2007 22:43:41 von ashishrai

Hi!

I'm using Win32::GUI::AxWindow to display MS-Word document on the
Shell.Explorer.
But once the AxWindow loads MS-Word file, Windows' error message pops
up and the program terminates automatically. The pop up says that
there was "Perl command line interpreter error". It only happens with
Word files and not with Excel sheet.

Is this bug in the module or am I doing something wrong. Your answer
would save me a lot of time, thank you.

Sincerely,
Ashish Rai.

Below is the code:

-This is exactly the same code as shown in samples in cpan.org except
I'm loading ms-office document.

use Win32::GUI();
use Win32::GUI::AxWindow;
my $Class = 'Shell.Explorer.2';
my $file = "C:/temp/RS.doc"; # ms-word doc
#my $file = "C:/temp/RS.xls"; # ms-excel

# Main Window
$Window = new Win32::GUI::Window(
-name => "Window",
-title => "Win32::GUI::AxWindow test",
-pos => [100, 100],
-size => [400, 400],
);

#Add a web browser ActiveX
$Control = new Win32::GUI::AxWindow (
-parent => $Window,
-name => "Control",
-control => $Class,
-pos => [0, 0],
-size => [400, 400],
);

#Register some event
$Control->RegisterEvent("StatusTextChange",
sub {
$self = shift;
$eventid = shift;
print "Event : ", @_, "\n";
} );

# Call Method
$Control->CallMethod("Navigate",$file);

# Event loop
$Window->Show();
Win32::GUI::Dialog();

# Main window event handler

sub Window_Resize {
if (defined $Window) {
($width, $height) = ($Window->GetClientRect)[2..3];
$Control->Move (0, 0);
$Control->Resize ($width, $height);
}
}

sub Win_Terminate
{
$Control->Release();
return -1;
}