中村です。

In article <199701270222.LAA12226 / castanet.caelum.co.jp> 
matz / caelum.co.jp (Yukihiro Matsumoto) writes:
> ちょっと忙しいので試さずに回答しているのをお許しください.

いえいえ、お仕事を優先させてくださいませ。

> TkToplevelではだめでしたか? ダメだった場合にはエラーを添えて

ごめんさい、できました。
Python のデモを参考に試行錯誤していたので
 .new($root) というのやらずにエラーが出ていたようです。

ということで、[ruby-list:1875] に書いた関数を

def new_win
  $win = TkToplevel.new($root)
  TkButton.new($win) {
	text 'Dismiss'
	command "$win.destroy"
	pack
  }
end

にすれば、とりあえず Window は生成されました。
	catch {destroy .w}
と同様な例外処理は良く分かりませんでした。
このままで、たくさん Window を作っていくと
完全には動作しないようです。

         中村典嗣@京都大学大学院工学研究科電子通信工学専攻
         E-mail:        nnakamur / tamaru.kuee.kyoto-u.ac.jp