Hi,
I'm currently trying to write a little application that uses TAPI to
retrieve the caller id of incoming phone calls. I have a running
prototype that retrives the id using Win32::OLE but this runs it own
message loop via Win32::OLE->MessageLoop(). Because i also need a GUI
for configuration and display purposes, i decided to switch to
Wx::ActiveX if possible. Ad here i ran into troubles when i tried to get
access to the TAPI.
I tried the following:
package AppWnd;
use vars qw(@ISA);
@ISA=qw(Wx::Frame);
use Wx qw(:sizer wxTE_MULTILINE );
use Wx::ActiveX;
use Wx::Event qw(EVT_BUTTON EVT_MENU) ;
use Wx qw(wxDefaultPosition wxDefaultSize wxDEFAULT wxNORMAL wxID_OK);
sub new {
my( $class ) = shift;
my( $this ) = $class->SUPER::new( undef, -1, $_[0], $_[1], $_[2] );
my $sCLSID_TAPI='{21D6D48E-A88B-11D0-83DD-00AA003CCABD}';
my $oTapi = Wx::ActiveX->new( $this, $sCLSID_TAPI,101 ,
wxDefaultPosition , wxDefaultSize);
...
and all i get is :
the invocant must be a reference at
c:/aceopt/perl/site/lib/Wx/ActiveX.pm line 26.
I have had a look in this file and it seems that the new function
delegates the creation of the control
$activex = Wx::ActiveX::newID($class,$parent,$id,@_) ;
which invokes the autoloader function.
Is this a bug in Wx::ActiveX or do i try something illegal?
Is it possible to access a normal com object using Wx::ActiveX or must
it be a dedicated activex control?
Im am using ActiveState perl v5.8.6 and Wx::ActiveX v0.0599
Please can anyone give me some hints ? I really don't want to run two
message loops in different threads.
best regards,
Gerrit Wichert
-------------------------------------------------------
This SF.Net email is sponsored by: New Crystal Reports XI.
Version 11 adds new functionality designed to reduce time involved in
creating, integrating, and deploying reporting solutions. Free runtime info,
new features, or free trial, at: http://www.businessobjects.com/devxi/728
|