[1631] in java-interest

home help back first fref pref prev next nref lref last post

Accessing java String from native c function.

daemon@ATHENA.MIT.EDU (Imran Balkhi (NT))
Tue Sep 12 00:16:57 1995

Date: Mon, 11 Sep 1995 17:59:35 -0700
From: ibalkhi@dnt.dialog.com (Imran Balkhi (NT))
To: java-interest@java.sun.com
Cc: cmcmanis@scndprsn.Eng.Sun.COM, jsw@cs.brown.edu, Orca.Starbuck@Eng.Sun.COM

Hi, 

I am trying to access java string type data element from c native function. At runtime IncompatibleClassChangeException error. Please Help.



Java code:
----------


class J_AccNumType  {

    public native void cpJavaToC(Object xx);
	
    String AccNum;

    public void set_AccNum(String value){
		AccNum = value;
	}

    public String get_AccNum(){
		return (AccNum);
	}


    public void saveGuts(){
		cpJavaToC(this);
	}
};



C/C++ code:
-----------

extern "C"{
#include "StubPreamble.h"
#include "javaString.h"

#include "J_AccNumType.h"

#include <stdio.h>

void J_AccNumType_cpJavaToC(struct HJ_AccNumType *obj,struct Hjava_lang_Object* javaobj);

}

#include <iostream.h>

void J_AccNumType_cpJavaToC(struct HJ_AccNumType *obj,struct Hjava_lang_Object* javaobj)
{

	cout << "Trying to call Java method " << endl;
	
	execute_java_dynamic_method (0, javaobj, "get_AccNum", "()LString");
	
	cout << "data " << *data << endl;

}




Output & Error message at runtime:
----------------------------------

Trying to call Java method  
java.lang.IncompatibleClassChangeException J_AccNumType: dynamic method get_AccNum()LString not found
	at J_AccNumType.saveGuts(AccNumType.java:40)
	at TestScript.main(TestScript.java:34)


Note :
------

If I change the type of data element AccNum from String to int everything runs fine.
-
Note to Sun employees: this is an EXTERNAL mailing list!
Info: send 'help' to java-interest-request@java.sun.com

home help back first fref pref prev next nref lref last post