问个问题:
我要用java调用一个dll,使用JNI或者(JNative组件),但dll中有一个函数返回的是指针类型.vb中用lstrcpy(result, pointer) 就可以得到,
vc中 char* ret = 函数() 就可以得到,可我的java中怎么得到指针对应的值呢.....?????
JNative中只有jNative.getRetValAsInt() jNative.getRetVal()两个方法,一个返回String值,一个返回int值
[b]问题补充:[/b]
我不知道对于DLL的 [b]指针函数[/b] ,JNative在调用时是否能返回指针...
lewhwa 告诉我的方法"那就用JNative.getRetVal(),然后再用String.toCharArray()得到CharArray",,,可这个CharArray有什么用呢,能说详细一点吗?我要的是: [b]DLL中[i]指针函数[/i]返回的[color=red]指针[/color]对应的值![/b]
谢谢各位的帮助!!!
[b]问题补充:[/b]
指针对于的值就是String包含的内容,[b]如果是这样[/b]就比较好办!只是我调试的时候调用得到的String都是一个空串,不是我预期的结果,所以困惑.另外,查了一些资料发现[color=red]JNA(Java Native Access)[/color]对Dll调用好像处理得更完美一些....[color=red]?[/color]
"通过传入String的引用来获取函数处理的值" 这点我能够理解,只是我手头的dll是封装好了的没办法更改,现在就是要取其返回的指针值.
我再来试试看,...再次感谢感谢!
[b]问题补充:[/b]
给我email好不?或者我的QQ:1006570814