[#20036] Re: Roundoff problem with Float and Marshal — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

16 messages 2003/04/18
[#20045] Re: Roundoff problem with Float and Marshal — nobu.nakada@... 2003/04/20

なかだです。

[#20063] Re: Roundoff problem with Float and Marshal — matz@... (Yukihiro Matsumoto) 2003/04/22

まつもと ゆきひろです

[#20097] jcode.rb — akira yamada / やまだあきら <akira@...>

25 messages 2003/04/26
[#20098] Re: jcode.rb — matz@... (Yukihiro Matsumoto) 2003/04/27

まつもと ゆきひろです

[#20105] Re: jcode.rb — WATANABE Hirofumi <eban@...> 2003/04/28

わたなべです。

[#20108] Re: jcode.rb — matz@... (Yukihiro Matsumoto) 2003/04/28

まつもと ゆきひろです

[ruby-dev:20030] Can't get DLL's path in WinCE

From: "uema2@..." <mail@...2.cjb.net>
Date: 2003-04-18 09:22:32 UTC
List: ruby-dev #20030
植松と申します。

ruby.c の ruby_init_loadpath 内で、win32 系は
VirtualQuery を呼んだあと、得られた値を使って
GetModuleFileName を呼んで、DLL の path を
取得している箇所があります。

ところが WinCE では、GetModuleFileName が
失敗してしまいます。
(直後のGetLastError() -> ERROR_INVALID_PARAMETER)

どうやら WinCE では、この方法で期待する値を
得られないようなので、VirtualQuery を呼ばずに、
GetModuleFileName の第一引数に NULL を
渡したいのですが、よろしいでしょうか?

ただ、これだと得られるのは DLL ではなく、
実行ファイルの path になってしまいますが、
ライブラリの path を取得するという目的は
一応は果たされると思うのですが。


*** ruby.c.orig	Sun Apr  6 14:53:05 2003
--- ruby.c	Thu Apr 17 20:01:37 2003
***************
*** 17,22 ****
--- 17,23 ----
  #endif
  #ifdef _WIN32_WCE
  #include <winsock.h>
+ #include "wince.h"
  #endif
  #include "ruby.h"
  #include "dln.h"
***************
*** 241,249 ****
--- 242,252 ----
      HMODULE libruby = NULL;
      MEMORY_BASIC_INFORMATION m;
  
+ #ifndef _WIN32_WCE
      memset(&m, 0, sizeof(m));
      if (VirtualQuery(ruby_init_loadpath, &m, sizeof(m)) && m.State ==
MEM_COMMIT)
   	libruby = (HMODULE)m.AllocationBase;
+ #endif
      GetModuleFileName(libruby, libpath, sizeof libpath);
  #elif defined(DJGPP)
      extern char *__dos_argv0;

では、上記よろしくお願い申し上げます。
_______________________
Message of uema2.
mail@uema2.cjb.net

In This Thread

Prev Next