> Problem in detail:
> I have a Struct* to be passed from C++ to java.
> I have got a C++ library that uses a structure, say myStruct*
> Let us say there are 2 C++ functions with the following signatures:
> struct myStruct*structInit();
> void doSomething(myStruct*);
> I want to write a java program that calls structInit(), gets myStruct*and
> passes this struct*to doSomething. How do I go about it?
> I tried making it global in the JNI code and instead of passing it back to
> java, tried calling functions that modify/access Struct* in JNI code
> itself.... using functions like
> struct myStruct* somevar;
> void structInit() { ...}
> void doSomething() {..}
> Though this works in a java application. It does not work on the
> browser(using JSP and javaBeans)...when multiple requests are being
> served.
> The path the code follows is
> HTML file takes some input and makes a call to JSP which stores the input
> data in a java bean and makes JNI calls to C++ code above and displays the
> data in the browser. While debugging the entire code, I found the problem
> lies in the struct * pointer variable being accessed globally. The system
> crashes saying it references a wrong memory location.
> I would really appreciate if you could suggest me with some
> solution...some tips or some sample programs... I have been going through
> lot of JNI documentation but that does not seem to help me much.
> Email address for communication:
[email protected] > <mailto:
[email protected]>
> -Shailaja
Reply Reply All Forward Delete Previous Next Close
------------------