use strict; use Win32::OLE; use Win32::OLE::Variant; use Win32::OLE qw(EVENTS); #reuired to capture the events use Thread qw(:DEFAULT async yield); Win32::OLE->Initialize(); my $RQCC; my $modemPort = 32; my $ret; my $deviceId; my $EventQueueTread = Thread->new(\&MonitorEventQueue); system "pause"; RQCCExtension::RQCCSreenMsg("INFO", "EXIT TEST CASE" ); sub MonitorEventQueue { Win32::OLE->Initialize(); my $Devicehandle = win32::OLE->new("rqccdriver.ExternalInterface.1") || die "CreateObject: $!"; if(!$Devicehandle) { print ("ERROR", "Could not create instance of RQCC" ); exit(1); } print "Should be Devicehandle = $Devicehandle\n"; my $Version = $Devicehandle->GetVersion(); print "Version = $Version\n"; }