JNI AttachCurrentThread обнуляет Jenv

2

В настоящее время я добавляю функциональность JNI в устаревшее приложение delphi. В однопоточной среде все работает нормально, но как только я перехожу в многопоточную среду, все начинает становиться волосатым.

Моя проблема в том, что вызов JavaVM ^.AttachCurrentThread(JavaVM, @JEnv, nil); возвращает 0, но помещает указатель JEnv в nil. Я не знаю, почему jvm.dll должен возвращать указатель NULL.

Есть ли что-то, что мне не хватает?

Спасибо заранее  - damg

PS:
 * Окружающая среда: WinXP + JDK 1.6
 * Использование JNI.pas из http://www.pacifier.com/~mmead/jni/delphi/

Теги:
jni

1 ответ

2
Лучший ответ

Хорошо, я нашел проблему. Я передавал указатель на TJNIEnv, а не на упакованный PJNIEnv. Компилятор не выполнил проверку типов и, следовательно, не удалось.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню