Re: Callback-problems

From: Erick Gallesio <eg_at_kaolin.unice.fr>
Date: Tue, 21 Feb 1995 18:06:39 +0000

> On Tue, 14 Feb 1995, Hilmar Lapp wrote:
>
> >
> > seems like I'm running into the same problem as some other people in
> > these days.
> >
> > [... stuff deleted ...]
> >
> > My implementation can be seen in the appendix; the binding is done using
> > a local lambda expression (bound to a variable) and the address-of
> > function (thanks for your hint a few days ago, Erick; I wouldn't have had
> > this idea on my own). If you try this, everything will seem to work fine,
> > but be a little patient and click around through various directories.
> > As you will see, after the 9th to 12th (this varies) directory change
> > there's nothing fine any more:
> >
> > *** Read from string error:
> > eval: bad function in : "(#[unknown 18 b0068])"
> > **** Tk error ("") ""
> >
> > After this point, the callbacks of both listboxes seem to be screwed up.
> >
>
> I've found a solution today (may be it's better called a "workaround").
> Now I'm doing the binding of the mouse button in the same function, where
> the callbacks are defined and bound. Seems as if that variant works fine.

yes it is a workaround.
This is a GC problem which is due to the fact that, for now, Tk completly
ignores that the underlying language is not Tcl but Scheme...
Consequently, if you create an object which is not bound to a Scheme variable
or to a component of a Scheme object, it will be destroyed when the
interpreter
calls the GC.

Hopefully things will change soon... (i.e. Tk lib will be modified for
marking Scheme object which are used in the C structures of Tk). This is not
too complicated, but since it implies some modifications in the Tk code, I
delay this modification until I start to integrate Tk4.0.




                -- Erick
Received on Tue Feb 21 1995 - 18:06:40 CET

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST