I'm trying to have more heavy interaction between my Tcl code and Java. In particular I want to be able to pass in a Tcl command to the Java, and have it executed at certain intervals, where that command takes a Java object as a parameter:
proc callback {javaobj} {
puts stdout [java::info class $javaobj]
}
----
// TclCallback.java
....
public class TclCallback {
public TclCallback(String command, Interp interp) {
this.command = command;
this.interp = interp;
}
String command;
Interp interp;
public void call(MyJavaObject mjo) {
try {
interp.eval(command + " " + mjo, 0);
} catch (TclException te) {
Debug.bug("Tcl exception thrown: " +te);
}
}
}
However the callback proc doesn't receive a java-object, but rather a string looking like:
MyJavaObject@d531bf4b
So, I guess my 'interp.eval' statement is wrong. What should it look like?
thanks,
Vince.