Problème dans une DLL JNI

Signaler
Messages postés
3
Date d'inscription
samedi 24 septembre 2005
Statut
Membre
Dernière intervention
15 octobre 2005
-
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011
-
Bonsoir,

Je cherche à mettre à jour, coté C++, un tableau de byte situé dans un objet passé en paramètre d'une méthode JNI.

Quelqu'un pourrait-il m'aider?



Le code est le suivant:




// Dans le monde JAVA

class ParamJni

{

public byte Tab[];

public int iVal;

}



public static void main(String args[]) {

...//...

ParameterJni = new ParamJni ();

...//...

int i = MyClassJava.MyMethode(ParameterJni );

...//...

}





//Dans la dll JNI (C++)

JNIEXPORT jint JNICALL Java_jni_JMyClass_MyMethode (JNIEnv *env, jobject, jobject ParameterJni )

{

jclass cls = env->GetObjectClass(ParameterJni );



jfieldID fid = env->GetFieldID(cls, "iVal", "I");

env->SetIntField( obj, fid, 2); //met 2 dans le champ iVal de l'objet ParameterJni



// Comment puis-je atteindre le champ Tab en lecture/écriture???



}



Merci d'avance.

1 réponse

Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

JNIEnv ne propose pas de méthode SetArrayField ? Après tu passes un jarray...?

Poppyto http://www.poppyto.net LE site pour les bassistes
http://blogs.developpeur.org/Poppyto Mon Blog sur C#