[#39102] pstoreのバックアップファイルについて — 堀川 久 <vzw00011@...>
こんにちは。
10 messages
2004/02/08
[#39103] Re: pstoreのバックアップファイルについて
— matz@... (Yukihiro Matsumoto)
2004/02/09
まつもと ゆきひろです
[#39131] Re: pstoreのバックアップファイルについて
— 堀川 久 <vzw00011@...>
2004/02/10
こんにちは。
[#39135] Re: pstoreのバックアップファイルについて
— matz@... (Yukihiro Matsumoto)
2004/02/10
まつもと ゆきひろです
[#39104] Internet Explorer で印刷 — Shin-ichiro HARA <sinara@...>
原です。
12 messages
2004/02/09
[#39105] Re: Internet Explorer で印刷
— MIYAMUKO Katsuyuki <k-miyamuko@...>
2004/02/09
みやむこです。
[#39106] What processor do you run ruby on? — "K.Sasada" <ko1@...>
ささだです。
13 messages
2004/02/09
[#39200] Re: What processor do you run ruby on?
— "K.Sasada" <ko1@...>
2004/02/17
"K.Sasada" <ko1@namikilab.tuat.ac.jp> wrote :
[#39207] Re: What processor do you run ruby on?
— Isamu KOZUKA <kozuka@...>
2004/02/17
小塚@しなきゃならないテストがいっぱいだ〜....です。
[#39208] printf %b bug (Re: Re: What processor do you run ruby on?)
— matz@... (Yukihiro Matsumoto)
2004/02/17
[#39209] Re: printf %b bug (Re: Re: What processor do you run ruby on?)
— "U.Nakamura" <usa@...>
2004/02/17
こんにちは、なかむら(う)です。
[#39210] Re: printf %b bug (Re: Re: What processor do you run ruby on?)
— matz@... (Yukihiro Matsumoto)
2004/02/17
まつもと ゆきひろです
[#39217] Re: printf %b bug (Re: Re: What processor do you run ruby on?)
— "U.Nakamura" <usa@...>
2004/02/18
こんにちは、なかむら(う)です。
[#39218] Re: printf %b bug (Re: Re: What processor do you run ruby on?)
— matz@... (Yukihiro Matsumoto)
2004/02/18
まつもと ゆきひろです
[#39220] Re: printf %b bug (Re: Re: What processor do you run ruby on?)
— matz@... (Yukihiro Matsumoto)
2004/02/18
まつもと ゆきひろです
[#39111] *a=aの挙動の違い — Tamiyasu Murakami <tamiyasu_m@...>
村上と申します。
5 messages
2004/02/09
[#39118] YAML without Syck — IWATSUKI Hiroyuki <don@...>
岩月と申します。
6 messages
2004/02/10
[#39129] InternetExplorer ってインターフェースとして使える? — Shin-ichiro HARA <sinara@...>
原です。
34 messages
2004/02/10
[#39130] Re: InternetExplorer ってインターフェースとして使える?
— Yac <yac@...>
2004/02/10
岡です。
[#39136] Re: InternetExplorer ってインターフェースとして使える?
— Yac <yac@...>
2004/02/10
岡です。
[#39140] Re: InternetExplorer ってインターフェースとして使える?
— arton <artonx@...>
2004/02/11
artonです。別件。
[#39144] Re: InternetExplorer ってインターフェースとして使える?
— Shin-ichiro HARA <sinara@...>
2004/02/12
原です。
[#39145] Re: InternetExplorer ってインターフェースとして使える?
— arton <artonx@...>
2004/02/12
artonです。
[#39174] Re: InternetExplorer ってインターフェースとして使える?
— Shin-ichiro HARA <sinara@...>
2004/02/13
原です。
[#39146] Re: InternetExplorer ってインターフェースとして使える?
— nobu.nakada@...
2004/02/12
なかだです。
[#39147] Re: InternetExplorer ってインターフェースとして使える?
— arton <artonx@...>
2004/02/12
artonです。
[#39150] Re: InternetExplorer ってインターフェースとして使える?
— nobu.nakada@...
2004/02/12
なかだです。
[#39151] Re: InternetExplorer ってインターフェースとして使える?
— arton <artonx@...>
2004/02/12
artonです。
[#39152] Re: InternetExplorerってインターフェースとして使える?
— Minero Aoki <aamine@...>
2004/02/12
青木です。
[#39155] Re: InternetExplorerってインターフェースとして使える?
— arton <artonx@...>
2004/02/12
artonです。
[#39157] Re: InternetExplorerってインターフェースとして使える?
— arton <artonx@...>
2004/02/12
artonです。
[#39161] Re: InternetExplorerってインターフェースとして使える?
— nobu.nakada@...
2004/02/12
なかだです。
[#39148] [BUG] ruby-mode indentation bug — Kenta MURATA <muraken2@...>
むらけんです.
7 messages
2004/02/12
[#39158] setup.rb on mswin32 — KUBO Takehiro <kubo@...>
久保@横浜(茅ヶ崎より移転)です。
8 messages
2004/02/12
[#39197] [ANN] Nora 0.0.20040216 released — MoonWolf <moonwolf@...>
MoonWolfです。
1 message
2004/02/16
[#39212] 特異メソッドでのクラス変数 — "eclipse" <eclipse@...>
はじめまして.eclipseと申します.
5 messages
2004/02/17
[#39213] IconvでUTF-16を変換 — Takashi & Kayoko Sano <tksano@...3.kcn.ne.jp>
7 messages
2004/02/17
[#39237] erb コマンドが compile error になる — Kouhei Yanagita <sugi@...>
柳田と申します。
5 messages
2004/02/19
[#39254] [ANN] Nora 0.0.20040222 released — MoonWolf <moonwolf@...>
MoonWolfです。
1 message
2004/02/22
[#39275] DnD on win32 — Shinichiro HIDA <shinichiro@...>
飛田と申します。
21 messages
2004/02/26
[#39276] Re: DnD on win32
— たむらけんいち <sgs02516@...>
2004/02/26
たむらです。
[#39277] Re: DnD on win32
— Shinichiro HIDA <shinichiro@...>
2004/02/27
飛田です。
[#39278] Re: DnD on win32
— Itou-T15@...
2004/02/27
[#39280] Re: DnD on win32
— "H.Shimura" <shimurahiroyuki@...>
2004/02/27
志村 弘之
[#39281] Re: DnD on win32
— "U.Nakamura" <usa@...>
2004/02/27
こんにちは、なかむら(う)です。
[#39282] Re: DnD on win32
— Shinichiro HIDA <shinichiro@...>
2004/02/27
飛田です。
[#39283] Re: DnD on win32
— "U.Nakamura" <usa@...>
2004/02/27
こんにちは、なかむら(う)です。
[#39285] Re: DnD on win32
— Shinichiro HIDA <shinichiro@...>
2004/02/27
飛田です。
[#39287] Re: DnD on win32
— Yuya Kato <yuya-ml@4th.to>
2004/02/27
Yuya%Exerb作者です。
[#39291] Re: DnD on win32
— Shinichiro HIDA <shinichiro@...>
2004/02/27
こんにちは、
[#39286] Re: [ruby-dev:16312] Re: ライブラリ拡大計画 — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。ruby-devの、えらく古いメイルからです。
7 messages
2004/02/27
[#39288] 固有値、固有ベクトルの計算 — Masahiro Sato <msato@...>
19 messages
2004/02/27
[#39290] Re: 固有値、固有ベクトルの計算
— NISHIMATSU Takeshi <t-nissie@...>
2004/02/27
西松と申します.
[ruby-list:39145] Re: InternetExplorer ってインターフェースとして使える?
From:
arton <artonx@...>
Date:
2004-02-12 10:26:38 UTC
List:
ruby-list #39145
artonです。 On Thu, 12 Feb 2004 17:56:03 +0900 Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp>さん wrote: > といったエラーが出ますね。attacEvent はあるのだけど、第2引数 > がわかりません。これは出来てもいい気がするんだけど、、、。 できるようにすることは可能なので、パッチを作ってテストしてみました。 問題なさそうだったので助田さんに取り込んでいただけるようお願いました。 原さんが試されるのでしたら添付のパッチをwin32ole.cに適用してみてください。 リリース版のruby-1.8.1/ext/win32ole/win32ole.c 用です。 -- arton <artonx@yahoo.co.jp>
Attachments (1)
patch.txt
(4.44 KB, text/x-diff)
diff -u -C1 win32ole.c.old win32ole.c
*** win32ole.c.old Thu Sep 25 08:54:22 2003
--- win32ole.c Thu Feb 12 14:16:47 2004
***************
*** 194,195 ****
--- 194,323 ----
static HRESULT ole_docinfo_from_type _((ITypeInfo *, BSTR *, BSTR *, DWORD *, BSTR *));
+ static char *ole_wc2mb(LPWSTR);
+ static VALUE ole_variant2val(VARIANT*);
+ static void ole_val2variant(VALUE, VARIANT*);
+
+ typedef struct _Win32OLEIDispatch
+ {
+ IDispatch dispatch;
+ ULONG refcount;
+ VALUE obj;
+ } Win32OLEIDispatch;
+
+ static HRESULT ( STDMETHODCALLTYPE QueryInterface )(
+ IDispatch __RPC_FAR * This,
+ /* [in] */ REFIID riid,
+ /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject)
+ {
+ if (MEMCMP(riid, &IID_IUnknown, GUID, 1) == 0
+ || MEMCMP(riid, &IID_IDispatch, GUID, 1) == 0)
+ {
+ Win32OLEIDispatch* p = (Win32OLEIDispatch*)This;
+ p->refcount++;
+ *ppvObject = This;
+ return S_OK;
+ }
+ return E_NOINTERFACE;
+ }
+
+ static ULONG ( STDMETHODCALLTYPE AddRef )(
+ IDispatch __RPC_FAR * This)
+ {
+ Win32OLEIDispatch* p = (Win32OLEIDispatch*)This;
+ return ++(p->refcount);
+ }
+
+ static ULONG ( STDMETHODCALLTYPE Release )(
+ IDispatch __RPC_FAR * This)
+ {
+ Win32OLEIDispatch* p = (Win32OLEIDispatch*)This;
+ ULONG u = --(p->refcount);
+ if (u == 0) {
+ free(p->dispatch.lpVtbl);
+ free(p);
+ }
+ return u;
+ }
+
+ static HRESULT ( STDMETHODCALLTYPE GetTypeInfoCount )(
+ IDispatch __RPC_FAR * This,
+ /* [out] */ UINT __RPC_FAR *pctinfo)
+ {
+ return E_NOTIMPL;
+ }
+
+ static HRESULT ( STDMETHODCALLTYPE GetTypeInfo )(
+ IDispatch __RPC_FAR * This,
+ /* [in] */ UINT iTInfo,
+ /* [in] */ LCID lcid,
+ /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo)
+ {
+ return E_NOTIMPL;
+ }
+
+
+ static HRESULT ( STDMETHODCALLTYPE GetIDsOfNames )(
+ IDispatch __RPC_FAR * This,
+ /* [in] */ REFIID riid,
+ /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
+ /* [in] */ UINT cNames,
+ /* [in] */ LCID lcid,
+ /* [size_is][out] */ DISPID __RPC_FAR *rgDispId)
+ {
+ Win32OLEIDispatch* p = (Win32OLEIDispatch*)This;
+ char* psz = ole_wc2mb(*rgszNames); // support only one method
+ *rgDispId = rb_intern(psz);
+ free(psz);
+ return S_OK;
+ }
+
+ static /* [local] */ HRESULT ( STDMETHODCALLTYPE Invoke )(
+ IDispatch __RPC_FAR * This,
+ /* [in] */ DISPID dispIdMember,
+ /* [in] */ REFIID riid,
+ /* [in] */ LCID lcid,
+ /* [in] */ WORD wFlags,
+ /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
+ /* [out] */ VARIANT __RPC_FAR *pVarResult,
+ /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
+ /* [out] */ UINT __RPC_FAR *puArgErr)
+ {
+ VALUE v;
+ int i;
+ int args = pDispParams->cArgs;
+ Win32OLEIDispatch* p = (Win32OLEIDispatch*)This;
+ VALUE* parg = ALLOC_N(VALUE, args);
+ for (i = 0; i < args; i++) {
+ *(parg + i) = ole_variant2val(&pDispParams->rgvarg[args - i - 1]);
+ }
+ if (dispIdMember == DISPID_VALUE) {
+ if (wFlags == DISPATCH_METHOD) {
+ dispIdMember = rb_intern("call");
+ } else if (wFlags & DISPATCH_PROPERTYGET) {
+ dispIdMember = rb_intern("value");
+ }
+ }
+ v = rb_funcall2(p->obj, dispIdMember, args, parg);
+ ole_val2variant(v, pVarResult);
+ return S_OK;
+ }
+
+ static IDispatch*
+ val2dispatch(val)
+ VALUE val;
+ {
+ Win32OLEIDispatch* pdisp;
+ IDispatchVtbl* p = ALLOC(IDispatchVtbl);
+ p->QueryInterface = QueryInterface;
+ p->AddRef = AddRef;
+ p->Release = Release;
+ p->GetTypeInfoCount = GetTypeInfoCount;
+ p->GetTypeInfo = GetTypeInfo;
+ p->GetIDsOfNames = GetIDsOfNames;
+ p->Invoke = Invoke;
+ pdisp = ALLOC(Win32OLEIDispatch);
+ pdisp->dispatch.lpVtbl = p;
+ pdisp->refcount = 1;
+ pdisp->obj = val;
+ return &pdisp->dispatch;
+ }
***************
*** 700,702 ****
default:
! rb_raise(rb_eTypeError, "not valid value");
break;
--- 828,831 ----
default:
! V_VT(var) = VT_DISPATCH;
! V_DISPATCH(var) = val2dispatch(val);
break;