Hallo,
Ik heb nog steeds dingen waarmee ik vast loop met JNI. Ik heb vele tutorial doorgelopen maar die geven te weinig info, in iedere geval heb ik niet gevonden waar ik echt naar zocht.
Ik wil met mijn callback funtie een long meegeven naar mijn java app. In mijn java app wil ik hem dan kunnen gebruiken. Voor de test even System.out.println(mijn lonn);
Ik eigenlijk geen idee hoe dat moet. Ik roep een java method met mijn library op met de volgende code:
Nou wil ik bij deze call een long toevoegen die m heet. En die dus mee sturen naar mijn java zodat ik deze daar kan gebruiken.
Java code is:
Hier wil ik dus die boolean kunnen gebruiken.
???
Gr
Ik heb nog steeds dingen waarmee ik vast loop met JNI. Ik heb vele tutorial doorgelopen maar die geven te weinig info, in iedere geval heb ik niet gevonden waar ik echt naar zocht.
Ik wil met mijn callback funtie een long meegeven naar mijn java app. In mijn java app wil ik hem dan kunnen gebruiken. Voor de test even System.out.println(mijn lonn);
Ik eigenlijk geen idee hoe dat moet. Ik roep een java method met mijn library op met de volgende code:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
| void LocalMessageBox (long m) { //Call Java native method jclass cls; jmethodID mid; cls = (*jenv)->GetObjectClass(jenv, jobj); mid = (*jenv)->GetMethodID(jenv, cls, "Mbox","()V"); if (mid == 0) { return; } (*jenv)->CallVoidMethod(jenv, jobj, mid); } |
Nou wil ik bij deze call een long toevoegen die m heet. En die dus mee sturen naar mijn java zodat ik deze daar kan gebruiken.
Java code is:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| public native int Start (); boolean packFrame = false; //Open class MBoxFrame private void Mbox() { MBoxFrame frame = new MBoxFrame(); if (packFrame) { frame.pack(); } else { frame.validate(); } //Center the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame.setVisible(true); //Wait till user select Button (Boolean c="false" to c="true") while ( !frame.getBoolean() ) { try { //amount sleep is frame rate Thread.currentThread().sleep(100); } catch(Exception e) { e.printStackTrace(); } } } |
Hier wil ik dus die boolean kunnen gebruiken.
???
Gr