From: take_tk Date: 2006-03-07T12:03:24+09:00 Subject: [ruby-list:41886] "win32/registry" と "dl/win32" の相性について たけ(tk)です まあ、単に相性が悪いだけ、ということかもしれませんが、 これだと、"dl/win32"は使えないということになってしまいますね。 * たけ(tk)のファイル構成がおかしいのかもしれない。再現しますか? ---- require "win32/registry" def ext_to_cmd(ext) doc = Win32::Registry.open(Win32::Registry::HKEY_CLASSES_ROOT, ext) { |reg| reg.read(nil)}[1] cmd = Win32::Registry.open(Win32::Registry::HKEY_CLASSES_ROOT, "#{doc}\\shell\\open\\command") { |reg| reg.read(nil)}[1] rescue Win32::Registry::Error nil end ##require "Win32API" require "dl/win32" # ←これを入れるとエラーになる p ext_to_cmd(".doc") ---- G:\apollo\tkUtils>ruby -v 1.rb ruby 1.8.4 (2005-12-24) [i386-mswin32] C:/Program Files/Apollo/lib/ruby/1.8/dl/win32.rb:8: warning: method redefined; discarding old initialize C:/Program Files/Apollo/lib/ruby/1.8/dl/win32.rb:25: warning: discarding old Call C:/Program Files/Apollo/lib/ruby/1.8/dl/win32.rb:16: warning: instance variable @sym not initialized C:/Program Files/Apollo/lib/ruby/1.8/dl/win32.rb:16:in `call': undefined method `proto' for nil:NilClass (NoMethodError) from C:/Program Files/Apollo/lib/ruby/1.8/win32/registry.rb:420:in `OpenKey' from C:/Program Files/Apollo/lib/ruby/1.8/win32/registry.rb:528:in `open' from 1.rb:4:in `ext_to_cmd' from 1.rb:13 G:\apollo\tkUtils> Take_tk = KUMAGAI Hidetake たけ(tk)=熊谷秀武