Ik wil string doorgeven als een parameter in met mijn jni. maar wanneer ik het touw passeer; de ontvangen reeks is slechts een betekenis minder karakters. In feite kan ik mijn gewenste string niet doorgeven van Java naar mijn C# -functie.
wat moet ik doen?
Bewerk :
jin.java:
public static native void myFunc( String name);
jin.cs:
public static void java_framewindow_myFunc(int env,int object,string name)
{
messagebox.show(name);
}
en ik stuur string "Hallo" vanuit Java, maar de string in het berichtenvak is zinloos.
Edit2:
hier is mijn volledige C# code:
using System;
using ObjectOrientedJNI;
using System.Windows.Forms;
namespace CSharpInJava {
public class NativeJavaMethods {
static void Java_FrameWindow_myFunc(int env, int obj, string name){
messagebox.show(name);
}
}
}
en hier is mijn volledige Java-code:
import java.awt.Canvas;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
public class FrameWindow extends Canvas {
int ref = 0;
//Called by JVM to create Canvas' Peer
public void buttom_clicked() {
myFunc("hi");
}
native int myFunc(String name);
}
Wat mis ik?