我目前正在将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/
答案 0 :(得分:2)
好的,我发现了问题。我正在向TJNIEnv传递一个指针而不是PJNIEnv。编译器没有进行类型检查,因此失败了。