Kawai Shiro
pract****@yahoo*****
2004年 8月 16日 (月) 17:32:51 JST
--- shelarcy <shela****@capel*****> からのメッセージ: > On Mon, 16 Aug 2004 13:12:35 +0900, shelarcy > <shela****@capel*****> wrote: > > 「直接的にバインド」というのは、 > > > > (define-cproc win-set-timer (hWnd::<hwnd> nIDEvent::<u_int> > > uElapse::<u_int> lpTimerFunc::<timerproc>) > > (return <u_int> "SetTimer")) > > > > のような形でと言う意味でした。安易に逃げているところがあるので、もう > > 少し調べてみて行き詰まったら、今度こそ質問したいと思います。 > > やっぱり安易に逃げすぎでした。 > 詳しく定義を見ていくと、H... という名前の型は > > typedef void *PVOID,*LPVOID; > > #ifdef STRICT > typedef void *HANDLE; > #define DECLARE_HANDLE(n) typedef struct n##__{int i;}*n > #else > typedef PVOID HANDLE; > #define DECLARE_HANDLE(n) typedef HANDLE n > #endif > > DECLARE_HANDLE(HWND); > > こんな風になっています。 > > > また、LPSTR、LPCTSTR、LPVOID といった型は gauche で定義されている型と > 違ってポインタになっています。 > > typedef unsigned short wchar_t; > typedef wchar_t WCHAR; > typedef WCHAR TCHAR; > typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR; > typedef const TCHAR *LPCTSTR; > > typedef void *PVOID,*LPVOID; > > この辺りの SCM... および Scm... の定義をどのように直せばよいでしょうか? 今、WiLiKiのGauche:WinAPIにあるコードを書いたのってshelarcyさんですか? だとしたら、まず、C言語の勉強をしてください。特にポインタとメモリ管理のあたり。 (他意はありません。それが、動くものを書けるようになる唯一の方法だと 思います。) --shiro __________________________________________________ GANBARE! NIPPON! Yahoo! JAPAN JOC OFFICIAL INTERNET PORTAL SITE http://mail.ganbare-nippon.yahoo.co.jp/