Thread View: pl.comp.lang.java
1 messages
1 total messages
Started by Borneq
Sat, 07 Sep 2013 19:53
Callbacki a JNI
Author: Borneq
Date: Sat, 07 Sep 2013 19:53
Date: Sat, 07 Sep 2013 19:53
15 lines
1899 bytes
1899 bytes
Zrobiłem przykład https://github.com/borneq/JNIdemo gdzie metoda w Javie wołana jest jako callback z DLL w C++. Jednak nie jest to prawdziwy callback, o który mi chodzi, taki, który by sięgnął głębiej do innej biblioteki bez źródeł z której korzysta ta moja używająca JNI. W Javie callbacki to metody interfejsu, a w C++, przynajmniej jeśli chodzi o bibliotekę którą chcę obsługiwać, są to wskaźniki na funkcje (nie metodę obiektu). Te wskaźniki ustawiane są przy inicjacji DLL. W JNI wołam metodę poprzez env->CallVoidMethod(param1, method1, i) a nie po wskaźniku, trzeba by chyba w metodzie callbacka C++ to wywołać, ale nie znam ani env ani param1 ani method1. Musiały by być te zmienne zapamiętane globalnie? Jeśli chodzi o method1, to dałoby chyba radę, natomiast nie można by zapamiętac env podczas inicjalizacji, bo po wyjściu z funkcji nie miało by sensu. Chyba że ustawianie callbacka odbywało by się dopiero w nativeLongOperation zamiast tak jak w bibliotece którą chcę obsługiwać - podczas inicjacji.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads