JNative 调用DLL问题

cy6868 2012-01-04 05:08:58
环境:jdk1.7_02 IDE:netbeans7.1

类名:mydll.java
代码:
public class mydll{
public static final String DLL_NAME1 = "ZSComm.DLL";
private static JNative jn;
public static int GSC_GetDLLVersion(String version) throws NativeException, IllegalAccessException{
int ret =0;
try {
jn = new JNative(DLL_NAME1,"GSC_GetDLLVersion");
//设置此函数的返回值
jn.setRetVal(Type.INT);
int i = 0;
jn.setParameter(i++, Type.STRING, ""+version);
jn.invoke();
ret = Integer.parseInt(jn.getRetVal());
System.out.println(jn.getRetVal());
} finally{
if (jn !=null){
jn = null;
}
}
return ret;
}

//测试用
public static void main(String[] args){
String v ="";
try {
mydll.GSC_GetDLLVersion(v);
System.out.println("version:"+v);
} catch (NativeException | IllegalAccessException ex) {
Logger.getLogger(Jzscom.class.getName()).log(Level.SEVERE, null, ex.getMessage());
}
}

运行:提示
run:
java.lang.NoSuchFieldError: lastError
1 //1表示成功调用DLL
//小弟以下代码为不明,请仁兄指教
at org.xvolks.jnative.JNative.nInvoke(Native Method)
version:
ccx_jni_utils.c.writeLog : can't get a Java Logger instance.
at org.xvolks.jnative.JNative.invoke(JNative.java:807)
at yqcore.zscom.Jzscom.GSC_GetDLLVersion(Jzscom.java:47)
at yqcore.zscom.Jzscom.main(Jzscom.java:357)
Exception in thread "main" 成功生成(总时间:1 秒)
...全文
246 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lang8888511 2012-12-04
  • 打赏
  • 举报
回复
如何解决,我也碰到这个问题
cy6868 2012-01-05
  • 打赏
  • 举报
回复
问题以解决

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧