[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | wester@i... |
| Subject: | Re: LablTk problem |
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