[#41251] mswin32(もしくはActiveScriptRuby)でRuby/Tkを使うには? — "conundrum /" <conundrum@...>

conundrumです。

12 messages 2005/10/11

[#41284] 条件に合う見出しの内容だけを抽出 — isawa_kz <isawa_kz@...>

井沢と申します。

32 messages 2005/10/14
[#41299] Re: 条件に合う見出しの内容だけを抽出 — Kousuke Honda <kousuke4@...> 2005/10/14

本田です。はじめましてです。

[#41300] Re: 条件に合う見出しの内容だけを抽出 — isawa_kz <isawa_kz@...> 2005/10/14

井沢です

[#41301] Re: 条件に合う見出しの内容だけを抽出 — しん <dezawa@...> 2005/10/14

出沢です

[#41340] Date へのメソッド追加要望 — MATSUNO Tokuhiro <tokuhirom@...>

tokuhirom@Inamode6:897 です。

19 messages 2005/10/22

[#41371] 北九州市の rubyist へ — Akimichi Tatsukawa <akimichi_tatsukawa@...>

こんにちは。立川察理と申します。

13 messages 2005/10/25

[#41400] 全角スペースを区切りとした文字列分解で — 中村 英夫 <cxn03651@...>

中村と申します。

10 messages 2005/10/27

[#41416] Rubyでこういうの作れますか?(中央銀行編) — Omoti <omoti@...24.net>

Rubyで中央銀行システムを作りたいんですが、できますか?

14 messages 2005/10/29
[#41418] Re: Ruby でこういうの作れますか?(中央銀行編) — Sako Hiroshi <sakoh@...2.so-net.ne.jp> 2005/10/29

[#41420] Re: Ruby でこういうの作れますか?(中央銀行編) — Omoti <omoti@...24.net> 2005/10/29

そんな大規模じゃないですよ!

[#41425] "Programming Ruby 2nd edtion"の邦訳について — "higashi ryota" <ryochin_hgs@...>

始めまして。既出だったらすいません、過去ログで検索したのですが見つけられませ

10 messages 2005/10/30
[#41428] Re: "Programming Ruby 2nd edtion"の邦訳について — Yukihiro Matsumoto <matz@...> 2005/10/30

まつもと ゆきひろです

[ruby-list:41258] Re: ruby/Tk でプルダウンリスト

From: Hidetoshi NAGAI <nagai@...>
Date: 2005-10-12 02:37:23 UTC
List: ruby-list #41258
永井@知能.九工大です.

From: Takeshi Honda <moecho21@yahoo.co.jp>
Subject: [ruby-list:41250] Re: ruby/Tk でプルダウンリスト
Date: Tue, 11 Oct 2005 23:19:52 +0900
Message-ID: <20051011141949.14197.qmail@web2805.mail.bbt.yahoo.co.jp>
> 環境はwin XP+cygwinで、rubyもcygwinの物を使っています。ruby 1.8.2
> (2004-12-25) [i386-cygwin] です。
> ActiveTcl8.4.11.1.175185-win32-ix86.exeを
> /cygdrive/c/bin/tclにインストールし、
> LD_LIBRARY_PATH=/cygdrive/c/bin/tcl/lib
> のようにパスを通し、以下のスクリプトを実行したところ、そ
> の下のエラーがでました。
> 
> どうしたらtk拡張を使えるようになるでしょうか?

cygwin 環境には詳しくないので間違っているかもしれませんが,
cygwin の ruby が ActiveTcl の DLL を正しく読み込めるという前提で
考えます.

まずは ActiveTcl のライブラリを見に行っているかどうかを確認ください.
ruby -r tk -e 'p Tk::TK_PATCHLEVEL'
と実行した場合,インストールされた ActiveTcl を使っていれば 
"8.4.11" と出力されるはずです.
もしこれが cygwin の Tcl/Tk のバージョンを示しているなら,
ActiveTcl のライブラリを使っていないことになります.
cygwin の ruby の tcltklib がライブラリファイルの名前を決め打ちで
読み込んでいるのかもしれません.
名前が決め打ちであるなら,ActiveTcl の tcl*.dll と tk*.dll とを 
cygwin のものに強引に付けかえる (元の cygwin のものは一旦名前を
変えておく) ことでなんとか騙せる可能性もあります (後述の環境変数
設定も必要かもしれません).

騙せない場合 (というか,どちらかと言えばこちらを勧めますが),
tcltklib の再コンパイルが必要になります.
Ruby のソースアーカイブを持ってきて展開すると,1.8 系なら
ext/tcltklib/README.ActiveTcl というファイルが存在するはずです.
このファイルに ActiveTcl を使う場合の configure オプションの
指定例もありますので,参考にしてください.

なお,Ruby 1.8.2 (2004-12-25) から現在までに bug fix 等も
それなりの量でなされていますので,できれば CVS から
最新のソース (最も最近の修正は 2005-10-04 に行っています) を
入手された方がいいかもしれません.
その際,もし Ruby 1.8.3 には切り替えたくないということでしたら,
Ruby 1.8.2 のソースにおいて ext/tcltklib と ext/tk とを
最新のものに入れ替えてコンパイルするのでも大丈夫だと思います.

ActiveTcl のライブラリを見ているにも関わらず ActiveTcl の拡張が
使えないのでしたら,Tcl/Tk のライブラリパスが cygwin のものに
なっているのかもしれません.
その場合は,環境変数の TCL_LIBRARY と TK_LIBRARY とを設定すれば
うまく読んでくれる可能性があります.

断定できず「かもしれない」ばかりで申し訳ありませんが,
お試しいただけますと幸いです.
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai@ai.kyutech.ac.jp

In This Thread