读书人

用JNI技术调用java class后, 取不到返

发布时间: 2012-06-14 16:00:31 作者: rapoo

用JNI技术调用java class后, 取不到返回值?

java函数: public boolean SendLog(String Access_Token, String Title, String Content);

vc调用:
mid = env->GetMethodID(cls,"<init>","()V");
if(mid !=0)
{
jobj=env->NewObject(cls,mid);
}
mid = env->GetMethodID( cls, "SendLog","(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z");
if(mid !=0)
{
jboolean ret = env->CallBooleanMethod(jobj, mid, s1, s2, s3);
|

我在SendLog()中都是return true, 没有returen false的地方.

运行结果ret为0, 这是不对的.

后来将SendLog()修改为什么都不做, 直接返回true, 这回对了, ret为1.

用JNI技术调用java class后, 取不到返回值, 怎么办?


[解决办法]
JNI 是java调用dll吧。
你这好像是VC调用java class呢
[解决办法]

探讨
java函数: public boolean SendLog(String Access_Token, String Title, String Content);

vc调用:
mid = env->GetMethodID(cls,"<init>","()V");
if(mid !=0)
{
jobj=env->NewObject(cls,mid);
}
mid……

读书人网 >J2SE开发

热点推荐