jnative 参数问题

我用jnative调用delphi写好的dll.方法的参数是一个String类型的,无返回类型如果我不输入参数的话方法可以调用成功弹出默认的信息但是我输入参数的话就会提示... 我用jnative 调用delphi写好的dll.
方法的参数是一个String类型的, 无返回类型
如果我不输入参数的话 方法可以调用成功 弹出默认的信息
但是我输入参数的话 就会提示错误。
public static void main(String[] args) {
//Test2 t=new Test2();
JNative jn=null;
String str="";
try {
jn=new JNative("C:/Program Files/Java/jdk1.6.0_18/bin/testDll.dll","Call2");
jn.setRetVal(Type.STRING);
jn.setParameter(0,Type.STRING,"kort");
System.out.print(jn.getParameter(0));
jn.invoke();
str = jn.getRetVal();
System.out.println(str);
} catch (NativeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
报错信息如下:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.xvolks.jnative.JNative.nGetParameter(II)Ljava/lang/String;
at org.xvolks.jnative.JNative.nGetParameter(Native Method)
at org.xvolks.jnative.JNative.getParameter(JNative.java:786)
at test1.main(test1.java:19)

希望高手指教。谢谢!
展开
 我来答
深刻如此
2010-02-02 · TA获得超过703个赞
知道小有建树答主
回答量:109
采纳率:100%
帮助的人:115万
展开全部
你好,这个UnsatisfiedLinkError: 异常一般是没有找到相匹配的方法,导致的异常。
你应该用的是jni,在java中调用本地方法的dll文件。但dll文件中的方法和你java中的不匹配。你看下你delphi写得dll里面的方法是不是类型不对?

本地方法的参数中,如果传入参数需要写成
JNIEnv *env, jclass method
无参数
JNIEnv *env, jobject method

希望对你有帮助~~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式