[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

tk fails to work with TkVariable

Stefan Achatz

4/1/2005 10:10:00 PM

Hello,
i have here some compressed code from my would-be-application that doesn't
work and i don't know why.
How it should work:
I click the "Open Window"-Button -> a new window opens
I click the "Test"-Button -> a warning-window should open but doesn't
If i remove line 10(TkVariable initialization) everything works well.
What's wrong with initialization of the TkVariable at this point?
Hope someone could help me and thanks in advance
Stefan Achatz

Heres the code:
=== snip
#!/usr/bin/env ruby

require 'tk'

class MyWindow < TkToplevel

def initialize
super

@value = TkVariable.new

this_button = TkButton.new(self) {
text 'Test'
pack('side' => 'left')
}
this_button.command { TkWarning.new("Can you read this?") }

end
end

root = TkRoot.new

root_button = TkButton.new(root) {
text 'Open Window'
pack('side' => 'left')
}
root_button.command { MyWindow.new }

Tk.mainloop
=== snap

And that's the backtrace:
=== snip
---< backtrace of Ruby side >-----
/usr/local/lib/ruby/1.8/tk.rb:1944:in `__eval'
/usr/local/lib/ruby/1.8/tk.rb:1944:in `_eval'
/usr/local/lib/ruby/1.8/tk.rb:1468:in `_ip_eval_core'
/usr/local/lib/ruby/1.8/tk.rb:1482:in `ip_eval'
/usr/local/lib/ruby/1.8/tk/dialog.rb:179:in `show'
/usr/local/lib/ruby/1.8/tk/dialog.rb:282:in `show'
/usr/local/lib/ruby/1.8/tk/dialog.rb:311:in `initialize'
../erazorworks.rb:16:in `new'
../erazorworks.rb:16:in `initialize'
../erazorworks.rb:16:in `call'
/usr/local/lib/ruby/1.8/tk.rb:1089:in `eval_cmd'
/usr/local/lib/ruby/1.8/tk.rb:1089:in `cb_eval'
/usr/local/lib/ruby/1.8/tk.rb:1040:in `call'
/usr/local/lib/ruby/1.8/tk.rb:1178:in `callback'
/usr/local/lib/ruby/1.8/tk.rb:1383:in `mainloop'
/usr/local/lib/ruby/1.8/tk.rb:1383:in `mainloop'
../erazorworks.rb:29
---< backtrace of Tk side >-------
invoked from within
"rb_out c00002"
invoked from within
".w00001.w00002 invoke"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list $w invoke]"
(procedure "tk::ButtonUp" line 22)
invoked from within
"tk::ButtonUp .w00001.w00002"
(command bound to event)
=== snap
1 Answer

Hidetoshi NAGAI

4/2/2005 6:48:00 AM

0