From: "染谷 康一" Date: 2012-07-11T17:19:22+09:00 Subject: [ruby-list:48830] Re: UNLHA32の「Unlha」が見つからない 早速のお返事、ありがとうございます。 >私の予想では、 > * 環境はWindows > * 使っているのはrubyの1.8のどこかのバージョン > * 本当に出たエラーは > .../dl/import.rb:127:in `symbol': can't find the symbol `Unlha' (Runtim eError) >ではないかと思うのですが、違いますか? なかむら(う)さんの仰るとおり、WindowsXPでRuby1.8.7です。 エラーメッセージは、ラッパーの検証としてirbで行いましたときに出力されたものを コピペしました。 そのほかのメッセージとしましては、以下の通りです。 from C:\ruby-1.8\lib\ruby\1.8/dl/import.rb:126:in `symbol' from C:\ruby-1.8\lib\ruby\1.8/dl/import.rb:145:in `import' from C:\ruby-1.8\lib\ruby\1.8/dl/import.rb:61:in `extern' from C:\lib/lha.rb:22 from (irb):1:in `require' from (irb):1 from C:\ruby-1.8\lib\ruby\1.8/fileutils.rb:868 >で、上記がおおよそ正しいという前提でですが、DL::Importableの >externメソッドはあんまり賢くないので、染谷さんの記述ではうま >く動作しません。 のご指摘の通りに修正しましたら、動作しました。 お手数おかけしました。 ありがとうございました。 ----- Original Message ----- >Date: Wed, 11 Jul 2012 16:36:39 +0900 >From: "U.Nakamura" >Subject: [ruby-list:48829] Re: UNLHA32の「Unlha」が見つからない >To: ruby-list@ruby-lang.org (ruby mailing list) > > >こんにちは、なかむら(う)です。 > >In message "[ruby-list:48827] UNLHA32の「Unlha」が見つからない" > on Jul.11,2012 15:49:39, wrote: >> 失礼します。 >> 染谷と申します。 >> >> DLライブラリでUNLHA32のUNLHAを使おうとしましたが、以下のエラーで使うことが でき >> ません。 >> >> RuntimeError: can't find the symbol `lha' > >使用したrubyのruby -vの出力と正確なバックトレースがないと、普 >通は調べようもございません。 >私の予想では、 > * 環境はWindows > * 使っているのはrubyの1.8のどこかのバージョン > * 本当に出たエラーは > .../dl/import.rb:127:in `symbol': can't find the symbol `Unlha' (Runtim eError) >ではないかと思うのですが、違いますか? > > >で、上記がおおよそ正しいという前提でですが、DL::Importableの >externメソッドはあんまり賢くないので、染谷さんの記述ではうま >く動作しません。 > > extern "int Unlha(HWND, const char *, char *, DWORD)" > >くらいで動くのではないかと思いますが、どうでしょうか。 > > >それでは。 >-- >U.Nakamura > >