我想用Delphi调用java的东西,用的是网上的方法,使用jni.pas
options[0].optionString := '-Djava.compiler=NONE'; { Java 的启动路径 这里设为当前路径. 也就是说在这个路径必须得能找到 Test.class }
options[1].optionString := '-Djava.class.path=.';
options[2].optionString := '-verbose:jni';
JNI.JNI_GetDefaultJavaVMInitArgs(@vm_args, jvmPath);
vm_args.version := Jni.JNI_VERSION_1_4;
vm_args.options := @options;
vm_args.nOptions := 3;
vm_args.ignoreUnrecognized := Jni.JNI_TRUE;
rec := JNI.JNI_CreateJavaVM(@jvm, @env, @vm_args, jvmPath);
主要的语句也就是这样,不过我的jdk是1.5,这里的JNI_VERSION_1_4最高好像只到1.4,是不是因为这样所以无法创建jvm呢?
如果是,有什么办法解决么?是把jdk降到1.4还是有新版本的jni.pas呢?
options[0].optionString := '-Djava.compiler=NONE'; { Java 的启动路径 这里设为当前路径. 也就是说在这个路径必须得能找到 Test.class }
options[1].optionString := '-Djava.class.path=.';
options[2].optionString := '-verbose:jni';
JNI.JNI_GetDefaultJavaVMInitArgs(@vm_args, jvmPath);
vm_args.version := Jni.JNI_VERSION_1_4;
vm_args.options := @options;
vm_args.nOptions := 3;
vm_args.ignoreUnrecognized := Jni.JNI_TRUE;
rec := JNI.JNI_CreateJavaVM(@jvm, @env, @vm_args, jvmPath);
主要的语句也就是这样,不过我的jdk是1.5,这里的JNI_VERSION_1_4最高好像只到1.4,是不是因为这样所以无法创建jvm呢?
如果是,有什么办法解决么?是把jdk降到1.4还是有新版本的jni.pas呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货