I’m working on an application that automates IE and needs to handle IE’s NewWindow2 event. The IE documentation for the event gives the following stytax:
Private Sub object_NewWindow2( _
ByRef ppDisp As Object, _
ByRef Cancel As Boolean)
When handling the event my perl code is entered with:
sub ie_events(){
my( $ie, $event, @args ) = @_;
In my handler I create a new IE object with:
my $ie = Win32::OLE->new( 'InternetExplorer.Application' );
Win32::OLE->WithEvents($ie, \&ie_events, 'DWebBrowserEvents2' );
Now my question. What is the proper way to set @args to return?
The code
$args[0]->Put( $ie );
$args[1]->Put( 0 );
Eventually leads to crashes. Given that the return should be a ppDisp what should I do?