You are explicitely studying the class you have problem with
(com.ibm.client.Contract). It doesn't even look like an AUTOSTUDY problem. Is
the Contract class in your classpath?

Vishal
 

Quoting Jay Strauss <[EMAIL PROTECTED]>:

> Hi,
> 
> I can't seem to autostudy.  I've looked at the archives, and I know I need to
> 
> study at least one class in order to autostudy others.  But when I do the 
> below I get:
> 
> [EMAIL PROTECTED]:~/Finance-IB-TWS/t$ perl demo.pl 
> Can't locate object method "new" via package 
> "com::ib::client::Contract" (perhaps you forgot to load 
> "com::ib::client::Contract"?) at demo.pl line 38, <GEN8> line 16.
> 
> If I uncomment the studying of the Contract class everything works.  Maybe I
> 
> misunderstand autostudy, but I thought it was an ease of use thing, so you 
> don't have to list every java class you might use
> 
> Thanks
> Jay
> 
> use Finance::IB::TWS;
> use Finance::IB::TWS::callback;
> 
> use Inline (
>     Java        => 'STUDY',
>     AUTOSTUDY       => 1,
>     STUDY       => [ 
>                     'com.ib.client.EClientSocket',
> #                 'com.ib.client.Contract',
>                   ],
> );
> 
> 
> my $callback = Finance::IB::TWS::callback->new();
> 
> my $tws = Finance::IB::TWS->new(callback=>$callback);
> 
> my $ib       = $tws->get_EClientSocket();
> my $api      = $tws->get_api();
> 
> ####                        Host         Port    Client_ID
> ####                        ----         ----    ---------
> my @tws_GUI_location = qw/  127.0.0.1    7496       15     /;
> 
> $ib->eConnect(@tws_GUI_location);
> $api->OpenCallbackStream() ;
> 
> my $flag = 1;
> 
> while ((my $got_data = $api->WaitForCallback(.01)) > -1) {
>     if ($got_data) {
>         print "process data\n";
>         $api->ProcessNextCallback() ;
>     }
>     else {
> 
>         if ($flag) {
>             my $contract = com::ib::client::Contract->new();
>             $contract->{m_symbol} = 'QQQQ';
>             $contract->{m_secType} = 'STK';
>             $contract->{m_exchange} = 'SMART';
>             my $contract_id = 50;
>             $ib->reqMktData($contract_id, $contract);
>             $flag=0;
>         }
>         print "No data to process\n";
>     }
> }
> 




----------------------------------------
This mail sent through www.mywaterloo.ca

Reply via email to