2010-04-16 63 views
2

我目前正在將JNI功能添加到傳統的delphi應用程序中。在單線程環境中,一切正常,但只要我進入多線程環境,事情就會變得多毛。我的問題是調用JavaVM^.AttachCurrentThread(JavaVM,@JEnv,nil);返回0,但將JEnv指針置爲零。我不知道爲什麼jvm.dll應該返回一個NULL指針。JNI AttachCurrentThread NULLs jenv

有什麼我失蹤?

預先感謝您 - damg

PS:
*環境:WinXP的+ JDK 1.6
*使用JNI.pas從http://www.pacifier.com/~mmead/jni/delphi/

回答

2

好吧,我已經找到了問題。我傳遞了一個指向TJNIEnv的指針,而不是PJNIEnv。編譯器沒有進行類型檢查,因此失敗了。