Hi,

When I use try to put Inline::Java inside a package, Inline does not seem to 
run and compile the Java, which leads to a "Can't locate" error.

I get:

[EMAIL PROTECTED]:~/Finance-IB-TWS/t$ ls
00.load.t  10.simple.t  pod-coverage.t  pod.t

** Notice no _Inline directory

[EMAIL PROTECTED]:~/Finance-IB-TWS/t$ perl 10.simple.t 
1..1
Can't locate object method "new" via package "Inline_Bridge" (perhaps you 
forgot to load "Inline_Bridge"?) 
at /home/jstrauss/Finance-IB-TWS/lib/Finance/IB/TWS.pm line 19.
Compilation failed in require at 10.simple.t line 3.
BEGIN failed--compilation aborted at 10.simple.t line 3.
One or more DATA sections were not processed by Inline.

Below is the package I'm calling.

Obviously, I'm doing something trivially wrong, but I can't see what.  Any 
suggestions would be nice.

Thanks
Jay





package Finance::IB::TWS;

use Inline (
    Java    => "DATA",
    JNI     => 1,
    AUTOSTUDY => 1,
    STUDY => ['com.ib.client.EClientSocket',
              'com.ib.client.Contract',
             ],
);

my $callback;
my $api = Inline_Bridge->new($callback);
my $ib =  com::ib::client::EClientSocket->new($api);

1; # Magic true value required at end of module

__DATA__
__Java__

import org.perl.inline.java.*;
import com.ib.client.*;

class Inline_Bridge extends InlineJavaPerlCaller implements EWrapper {

...

Reply via email to