Re: Caml et Gtk+/Gdk ...

From: luther@maxime.u-strasbg.fr
Date: Fri Nov 20 1998 - 11:49:38 MET


From: luther@maxime.u-strasbg.fr
Date: Fri, 20 Nov 1998 11:49:38 +0100
To: Pascal Cuoq <pcuoq@ens-lyon.fr>, luther sven <luther@steed.u-strasbg.fr>
Subject: Re: Caml et Gtk+/Gdk ...
In-Reply-To: <199811201001.LAA00810@vaise.ens-lyon.fr>; from Pascal Cuoq on Fri, Nov 20, 1998 at 11:01:35AM +0100

On Fri, Nov 20, 1998 at 11:01:35AM +0100, Pascal Cuoq wrote:
> > Oui je suis au courrant, mais il y a un probleme, avec elle.
> > Il semble qu'il n'est pas possible d'appeller les fonctions print_string
> > et compagnie a l'interieur d'un callback appelle depuis un event_handler Gtk.
> > Le callback est bien appelle, mais rien n'apparait a l'ecran.
> > J'ai rencontrer le meme probleme avec mlgtk, mais j'ai crus que cela ne
> > marchais pas bien. C'est difficile de tester des trucs si on ne peut
> > rien afficher a l'ecran.
>
> J'avais remarque cette bizarrerie aussi, sans vraiment comprendre
> d'ou elle provient. Il est tout de meme possible d'utiliser un widget
> text pour afficher les messages de debogage.

Oui, bonne idee, je vais faire comme cela alors.

Cependant il serait interressant de voir a quoi est du cette bizarrerie,
s'agit-il d'une particularite du systeme caml. il manque surement un flush ou
quelque chose de similaire, qui n'est jamais appelle car l'interface gtk prend
la main totalement, et ne laisse plus ocaml faire son travail. Qu'en est-il du
garbage collector ? Et des autres choses que ocaml fait ?

L'ideal serait de de ne pas appeller gtk_main, mais de modifier la boucle
interne de ocaml, pour qu'elle fasse aussi le travail de gtk_main. Je sais
qu'il existe une fonction gtk qui traite tous les evenements restant, ou alors
les evenements un par un, Il serait interressant alors d'appeler cette fonction
a l'interieur de ocaml.

Peut-etre qu'un mecanisme de pour definir une telle fonction pourrait etre
ajouter a ocaml ? quelque chose comme :

Toplevel.register_additional_main_loop ?

Amicalement,

Sven LUTHER



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:16 MET