Title: simple Java-Tcl callback

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.

Reply via email to