JNI AttachCurrentThread使jenv为空

时间:2010-04-16 09:46:50

标签: java delphi java-native-interface

我目前正在将JNI功能添加到旧版delphi应用程序中。在单线程环境中,一切正常,但是一旦进入多线程环境,事情就会变得毛茸茸。

我的问题是调用JavaVM ^ .AttachCurrentThread(JavaVM,@ Jnnv,nil);返回0,但将JEnv指针置为nil。我不知道为什么jvm.dll应该返回一个NULL指针。

我有什么遗失的吗?

提前谢谢你   - damg

PS:
 *环境:WinXP + JDK 1.6
 *使用http://www.pacifier.com/~mmead/jni/delphi/

中的JNI.pas

1 个答案:

答案 0 :(得分:2)

好的,我发现了问题。我正在向TJNIEnv传递一个指针而不是PJNIEnv。编译器没有进行类型检查,因此失败了。