本来那个VC写的DLL没有提供java接口函数,我自己用VC另外再写个DLL调用原来的DLL并增加Java的接口,java调用的时候原来那个DLL里的计时器不工作,但我在我的DLL里用同样代码导出的函数用VC和Delphi调用时它就会工作。
    有什么办法解决这个问题吗?

解决方案 »

  1.   

    楼主,java如何调用dll啊?
    能否贴点代码让我学习学习啊
      

  2.   

    java调dll简单呀public class testdll
    {
    public native int testfun(String teststr);
    static
    {
    System.loadLibrary("testdll_vc");           //调用testdll_vc.dll
    }
    public static void main(String args[])
    {                  
          testdll Mytest =new testdll();
                   Mytest.testfun("ok!");               //执行dll里面的testfun函数
             }
    }
      

  3.   

    启动计时器是DLL里的函数自己启动,不管java还是VC和delphi调用该DLL都是用相同的方法(在我二次封装的DLL里用相同的方法调用原来那个有计时器的DLL,VC和delphi调用我第二次封装的dll再去调原始那个DLL的时候它的定时器会工作,但java通过我的二次封装的DLL去调的时候它的定时器就不工作(因为原来的DLL不提供java接口,所以我做二次封装增加java接口)
      

  4.   

    因为VC中定时器使用的是操作系统资源,那么JVM调用就可能有问题了。
      

  5.   

    因为VC中定时器使用的是操作系统资源,那么JVM调用就可能有问题了。同意这种说法,
      

  6.   

    to dext(德克斯特) 没有消息循环为什么VC和delphi写和程序调用就可以?现在只能从 ll42002(灰舌) 说的这种说法事解释了没有原来那个DLL的源码,我只好另外写了个DLL,执行跟原来那个功能相类似的操作汗....