> -----Original Message----- > From: Mo DeJong [mailto:[EMAIL PROTECTED]] > Sent: Friday, June 23, 2000 3:15 PM > To: Jiang Wu > Cc: [EMAIL PROTECTED] > Subject: Re: [Tcl Java] A Tcl or TclBlend problem? > > You mentioned that doing an after with a list object solved > the problem, > but here you are using a TclList so it should incr the ref counts of > the objects in the list. Seems like that should work, I guess I > do not understand why your method arguments would be getting converted > to strings instead of TclObjects. Is this something that Interp.eval() > is doing? I have a Tcl script text file that looks something this: proc my_proc {arg1 arg2 ...} { ... variable x set x $arg2 ... } The script is loaded (sourced) into the interpreter upon program startup. arg2 is supposed to contains a script to be invoked later in a fileevent handler such as {command arg arg ...}. All this works fine if "arg2" is a "normal" Tcl script. Then I want to pass in a Java command with some Java object arguments to "arg2" so that a Java method is invoked in the callback. So I call my_proc from within Java using a TclList as the 2nd argument and wrap all my Java objects inside TclObject's. When the interpreter executes "set x $arg2" part of the Tcl script, it no longer has the original list. Inside a debugger, I can see that the arg2 contains a string representation of the TclList I passed in. My conclusion is that the C version Tcl interpreter is very liberal about interchanging the string presentation and real object representation. For example, if you have a TclList, and you called "TclList.toString()" followed by "eval(TclList)". The native Tcl code will use the string version of your TclList rather than the real list object. I wonder how Jacl behaves in similar situation. -- Jiang Wu [EMAIL PROTECTED] ---------------------------------------------------------------- The TclJava mailing list is sponsored by Scriptics Corporation. To subscribe: send mail to [EMAIL PROTECTED] with the word SUBSCRIBE as the subject. To unsubscribe: send mail to [EMAIL PROTECTED] with the word UNSUBSCRIBE as the subject. To send to the list, send email to '[EMAIL PROTECTED]'. An archive is available at http://www.mail-archive.com/tcljava@scriptics.com