From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA14517 for caml-red; Mon, 5 Feb 2001 17:58:09 +0100 (MET) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id JAA19331 for ; Mon, 5 Feb 2001 09:20:41 +0100 (MET) Received: from mailgw1.fhg.de (mailgw1.fhg.de [153.96.1.2]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f158Ka915227 for ; Mon, 5 Feb 2001 09:20:36 +0100 (MET) Received: from ilt.fhg.de (ilt.ilt.fhg.de [153.96.180.2]) by mailgw1.fhg.de (8.11.1/8.11.1) with ESMTP id f158KSd08740 for ; Mon, 5 Feb 2001 09:20:29 +0100 (MET) Received: from eent230 (eelta136.llt.RWTH-Aachen.DE [137.226.47.136]) by ilt.fhg.de (8.9.3/8.9.3) with SMTP id JAA19345 for ; Mon, 5 Feb 2001 09:20:27 +0100 (MET) Message-Id: <200102050820.JAA19345@ilt.fhg.de> From: wester@ilt.fhg.de To: caml-list@inria.fr Date: Mon, 5 Feb 2001 09:20:27 +0100 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: LablTk problem Priority: normal In-reply-to: <200102021537.QAA13795@ilt.fhg.de> X-mailer: Pegasus Mail for Win32 (v3.01d) Sender: weis@pauillac.inria.fr Rolf Wester (that's me) wrote: > Hi, > > I want to make a little Tk application. I have a main frame, a > menu frame with a menu button, a menu and a menu command. > Within the menu frame there is also a button. Besides this I have > a canvas. The button works, when pressing it, the application exits. > But the menu command doesn't react at all. I also tried the demo.ml > program in the otherlibs\labltk\example directory. Here the menu > command doesn't work too. I run an ocamltop with libltk.cma linked in > under WindowsNT. > > I would be very appreciative for help. > > With kind regards. > > Rolf Wester > > ------------------------------------------------------------------------------------------------------------ > > #directory "h:\programme\ocaml30\lib\labltk";; > #labels true;; > > let mainWindow () = > let top = Tk.openTk() in > > let menuFrame = Frame.create top ~width: 20 ~height: 20 ~background: `Red in > Tk.pack ~side: `Top ~fill: `X [menuFrame]; > > let fileButton = Menubutton.create menuFrame ~text:"File" ~borderwidth:3 ~relief: `Groove in > Tk.pack ~side: `Left [fileButton]; > let fileMenu = Menu.create fileButton in > Menu.add_command fileMenu ~label:"Exit..." ~command: (fun () -> closeTk ();); > > let exitButton = Button.create menuFrame ~text: "Exit" ~borderwidth:3 ~relief: `Ridge in > Tk.pack ~side: `Right [exitButton]; > bind ~events:[`ButtonPress] ~action: (fun ev -> closeTk ();) exitButton; > > let canvas = Canvas.create top ~width: 600 ~height: 400 ~background: `White in > Tk.pack [canvas]; > canvas;; > > let canvas = mainWindow ();; > Tk.mainLoop ();; > Sorry it was my fault, I found the problem. I simplified things a little bit in the above example. The program as it is works fine. But when I was testing the program I made the following: Thread.start Tk.mainLoop();; And now the menus don't work any more. What I want to do is start a Tk application in it's own thread and be able to draw to the canvas interactively at the sam time. If I press one the simple buttons the application stops, only the menus don't work. Rolf ------------------------------------- Rolf Wester wester@ilt.fhg.de