[#41806] Win32OLE and MATLAB — Masaki Suketa <masaki.suketa@...>
助田です。
6 messages
2006/02/03
[#41812] "module private"な変数・メソッド — KURODA Hiraku <hiraku@...>
こんにちは、黒田です。
5 messages
2006/02/04
[#41825] RRSE 0.1 — OHBAYASHI Ippei <ohai@...>
こんにちは、大林です。
5 messages
2006/02/13
[#41854] rexml で doc.xml_decl.encoding = "shift-jis" は駄目ですか? — take_tk <ggb03124@...>
たけ(tk)です
5 messages
2006/02/24
[ruby-list:41811] Re: Win32OLE and MATLAB
From:
Masaki Suketa <masaki.suketa@...>
Date:
2006-02-04 02:28:56 UTC
List:
ruby-list #41811
助田です。
In message "[ruby-list:41810] Re: Win32OLE and MATLAB"
on 06/02/03, "H.Yamamoto" <ocean@m2.ccsnet.ne.jp> writes:
> 試しに、SAFEARRAY(double) [in, out] を引数に持つ、何もしないオートメーションを
> 作ってみたところ、同じエラーが出ました。
>
> C++Builder で作ったバイナリを
>
> http://www.ccsnet.ne.jp/~ocean/Project1.zip
ありがとうございます。
> SAFEARRAY variantを作るためには、配列要素の基本型に加えてVT_ARRAYフラグを指定しなければなりません
>
> と書いてあるのを見て、試しにこうしてみたところ、エラーが出なくなりました。参考になれば。
>
> Index: win32ole.c
> ===================================================================
> RCS file: /src/ruby/ext/win32ole/win32ole.c,v
> retrieving revision 1.43
> diff -u -w -b -p -r1.43 win32ole.c
> --- win32ole.c 12 Dec 2005 00:35:07 -0000 1.43
> +++ win32ole.c 3 Feb 2006 09:20:10 -0000
> @@ -813,7 +813,7 @@ ole_val2variant(val, var)
> if(pid) free(pid);
>
> if (SUCCEEDED(hr)) {
> - V_VT(var) = VT_VARIANT | VT_ARRAY;
> + V_VT(var) = VT_R8 | VT_ARRAY;
> V_ARRAY(var) = psa;
> }
> else if (psa != NULL)
ありがとうございます。十分、参考になります。
うーむ。ここが悪かったのか。もうちょっと考えてみます。
助田 雅紀