Newbie help, please: cannot execute Tk under Windows XP

J

James Calivar

Hello,

I'm trying to run a very simple Ruby script that employs Tk:

## BEGIN FILE ##

require 'tk'

root = TkRoot.new {title "File to Open"}

TkLabel.new(root) do
text 'Please enter the name of a file to open: '
pack('padx' => 15, 'pady' => 15, 'side' => 'left')
end

Tk.mainloop

## END FILE ##


Unfortunately I get the following error when it atempts to execute:

"C:\ruby\sample\james>ruby tk_test.rb
tk_test.rb:1:in `require': no such file to load -- tk (LoadError)
from tk_test.rb:1"

Can anyone help? I am using Ruby 1.8.4 which I compiled myself using
cygwin32. I am running on XP. I've edited the Setup file in
C:\ruby\ext\Setup to enable the tcltklib and tk lines, rebuilt, and
still no go.

Interestingly, I had the same problem with the extension "WIN32OLE"
earlier yesterday, but after I copied over some lines from some sample
files, it started to work (which bugs me because my file was verbatim,
unless there was some hidden chars that I was missing or something
weird like that). I had previously rebuilt after altering the
C:\ruby\ext\Setup file to enable Win32API and win32ole, but that didn't
work until I copied over the sample file.

Thanks in advance,

James
 
Ç

王东

The tcltklib.so is not included in the latest oneclick installer.
Try this :http://www.fxruby.org/doc/examples.html
Example:

#!/usr/bin/env ruby

require 'fox16'

include Fox

application = FXApp.new("Hello", "FoxTest")
main = FXMainWindow.new(application, "Hello", nil, nil, DECOR_ALL)
FXButton.new(main, "&Hello, World!", nil, application, FXApp::ID_QUIT)
application.create()
main.show(PLACEMENT_SCREEN)
application.run()
 
J

James Calivar

Hi 王东 -

Perhaps you didn't see that I compiled my own Ruby (not using one-click
installer). According to "Programming Ruby" the Tk extension is
bundled with the main distribution, so it should run - and in fact, I
do have a c:\ruby\tk directory, leading me to believe that it's there,
I'm just not soing something right to enable its use.

I'll have a look at the Fox GUI, too.

James
 
W

William Crawford

James said:
Hi 王东 -

Perhaps you didn't see that I compiled my own Ruby (not using one-click
installer). According to "Programming Ruby" the Tk extension is
bundled with the main distribution, so it should run - and in fact, I
do have a c:\ruby\tk directory, leading me to believe that it's there,
I'm just not soing something right to enable its use.

I'll have a look at the Fox GUI, too.

James

http://members.chello.nl/~k.vangelder/ruby/learntk/
says
"If you installed Ruby yourself, possibly the Tk bindings do not work.
First, make sure you have tcl/tk installed. Then look here.
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/15590 "

I'm not sure that's the problem, but it seems a good thing to check.
 
J

James Calivar

So I guess nobody can help me?? I still can't get Tk to run under
Ruby.

James
 
W

William Crawford

James said:
So I guess nobody can help me?? I still can't get Tk to run under
Ruby.

James

It may just be the gateway acting up again, but you seem to be ignoring
several people trying to help you.
 
J

James Calivar

I'm not sure what you mean. Only you and one other person are showing
up as replies on Google. I don't have a dedicated news reader. How
many replies are you seeing to my original post?

James
 
J

Jan Svitok

I'm not sure what you mean. Only you and one other person are showing
up as replies on Google. I don't have a dedicated news reader. How
many replies are you seeing to my original post?

James

On http://www.ruby-forum.com/topic/80285 appears the whole thread. The
question you didn't respond to was: do you have tcl/tk installed? by
William and Curt.
 
J

James Calivar

OK, thanks - I never saw that message. I think I'll just migrate to
looking forectly at the Ruby forums instead of going through Google.

I'll have a look at those suggestions and then reply once I figure it
out.

Thanks,

James
 
A

Austin Ziegler

OK, thanks - I never saw that message. I think I'll just migrate to
looking forectly at the Ruby forums instead of going through Google.

I'll have a look at those suggestions and then reply once I figure it
out.

Or better yet, join the source: ruby-talk (the information is on the
Ruby home page).

-austin
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,777
Messages
2,569,604
Members
45,216
Latest member
topweb3twitterchannels

Latest Threads

Top