[ruby-list:48830] Re: UNLHA32の「Unlha」が見つからない

From: 染谷 康一 <kouichi_someya@...>
Date: 2012-07-11 08:19:22 UTC
List: ruby-list #48830
早速のお返事、ありがとうございます。

>私の予想では、
>  * 環境は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" <usa@garbagecollect.jp>
>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, <kouichi_someya@mbe.nifty.com> 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 <usa@garbagecollect.jp>
>
>


In This Thread