CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

java中怎样调用vb生成的dll?

楼主joe2002(joe)2003-10-02 13:56:31 在 Java / J2SE / 基础类 提问

帮帮小弟吧。 问题点数:100、回复次数:7Top

1 楼Mailbomb(网络咖啡http://blog.csdn.net/mailbomb)回复于 2003-10-02 14:21:55 得分 0

System类中的load和loadLibrary方法Top

2 楼007james(苏乞儿)回复于 2003-10-02 15:39:28 得分 0

load和loadLibrary方法,yes!Top

3 楼noratong(吴雨)回复于 2003-10-02 16:27:08 得分 0

//调用一个叫s3dll.DLL文件的例子!  
  public   class   JavaSense3{  
   
  public   native   void  
  CallSense3(short   FunctionCode,   short   OutWords,   short   OutBuff0,  
  short   OutBuff1,   short   OutBuff2,   short   OutBuff3);  
   
  static  
                  {  
                                  try  
                                  {  
  String   Sense3="s3dll";  
  System.loadLibrary(Sense3);  
  System.out.println("加载成功!11111");  
                                  }  
                                  catch(   UnsatisfiedLinkError   e   )  
                                  {  
                                                  e.printStackTrace()   ;  
                                                  System.exit(   -1   );  
                                  }  
                  }  
   
  public   void   valid()  
  {  
  CallSense3(nFunctionCode,   nOutWords,   nPass0,   nPass1,   nPass2,   nOutBuff3);  
  }  
   
  //用一个类来调用此类的方法valid()成功!也就是直接用JAVA   来运行。如:  
  /*********************************************************************/  
  public   class   random  
  {  
  public   static   void   main(String[]   args)   throws   Exception  
  {  
  JavaSense3   js   =   new   JavaSense3();  
  js.valid();  
  }  
   
  }  
  Top

4 楼mattus_zhao(人生十有八九不如意)回复于 2003-10-02 16:31:20 得分 0

这些方法都是与平台相关的。  
  在Windows下可以调用.dll文件,在Linux下就可以调用.a或者.so文件了。Top

5 楼joe2002(joe)回复于 2003-10-02 18:31:36 得分 0

我找了网上很多例子,都是要用c来做dll.没有用vb做dll的例子阿.....:(  
  总觉得是不是c做出来的dll和vb做出来的dll不一样。  
  各位大虾提示以下好吗?  
   
  我的代码也很简单。  
  class   rtnDLL  
  {  
  rtnDLL(){  
  return;  
  }  
  public   native   void   rtnParam(String   a);  
  static   {  
  System.loadLibrary("rtnPara");  
  }  
   
  }  
  public   class   Test   {  
  public   static   void   main(String[]   args)   {  
  String   bb   =   "1";  
  rtnDLL   rDll   =   new   rtnDLL();  
  rDll.rtnParam(bb);  
  System.out.println(bb);  
          }  
  }  
   
  最后运行结果总是说:  
  java.lang.UnsatisfiedLinkError:   rtnParam  
  at   server.common.rtnDLL.rtnParam(Native   Method)  
  at   server.common.Test.main(Test.java:38)  
  Exception   in   thread   "main"Top

6 楼joe2002(joe)回复于 2003-10-02 18:37:50 得分 0

不是说JNI的最大优点在于它支持业界统一标准吗?  
  可是我怎么看来,java直接到用dll是不可以的。必须把接口重新定义后,再把dll内部的方法或者变量值给导到java中来用。  
   
  不解之处,还望各位大虾指点一二。Top

7 楼Polarislee(北极星)(无房无车,飘在北京)回复于 2003-10-02 23:52:18 得分 100

想要调用vb写的dll采用loadLibaray是不行的,因为vb写的dll文件是ActiveX   DLL不是普通的dll文件。想要使用的办法只有用C写一个DLL文件来调用vb写成的dll文件,在利用java来调用C写成的DLL文件Top

相关问题

  • VC中调用VB生成的DLL(java调用VB的DLL)
  • asp调用vb生成的dll
  • 用VB如何生成dll,以及如何调用它?
  • 如何在PB中调用VB生成的activex dll文件
  • 关于DLL编译调用的问题(再不安装VC的环境下,VB调用VC生成的DLL)
  • vc生成的dll在vb中如何调用?是否和调用api一样?希望有具体例子!
  • 在VB中做好界面,怎么生成DLL。让C语言调用?
  • (100分)其他语言调用VB生成的dll内存出错问题!
  • VC中能调用 VB生成的Active Dll和Active控件吗? 怎么实现?
  • 如何用VB生成具有可调用的API函数的DLL

关键词

  • dll
  • 文件
  • vb
  • 调用
  • rtndll
  • javasense
  • npass
  • rtnparam
  • loadlibrary
  • short outbuff

得分解答快速导航

  • 帖主:joe2002
  • Polarislee

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo