たむら です。
助田 雅紀 <masaki.suketa / systemplaza.co.jp> さん、こんにちは。
Tue, 3 Aug 1999 08:29:57 +0900 の
[ruby-list:15844] Re: alias new open
に関するメールのリプライです。
助田> > DAO 3.5の場合は
助田> > dao = WIN32OLE.new('DAO.DBEngine.35') として動かしました。
助田>
助田> > Office2000では DAO 3.6になると聞いていますが、その辺りの Wrapはどのよう
助田> > にされる予定ですか?
助田>
助田> 解決にも何にもなってないんですが,DAO には,VersionIndependentProgID
助田> は用意されてないんでしょうか?
DAO の場合、DAO.DBEngine だと、
『Microsoft DAO 2.5/3.0 Object Library DBEngine』となるみたい。
.36 / .35 はそれぞれ、Version 3.6 /3.5 です。
ということで、これで逃げてみました。
%w( .36 .35 nil).each do |v| # 3.6|3.5|3.0
begin
@dao = WIN32OLE.new('DAO.DBEngine'+ v)
@dao_version = (v or '3.0')
break
rescue
next
end
end
新しいやつから探して、見つかればそれを利用します。
Registryから、探すよりもカンタンだったので。
# じゃあ、3.7 とか出たら、どうしよう…
ちなみに、VB6 は DAO 3.6 なので、
DAO 3.6 on Win95OSR2
DAO 3.0/3.5/3.6 on WinNT4WS で、動作確認は取れてます。
--------------------------------------------------
トランス・コスモス株式会社 福岡支社システム課
田村 賢一
tamura / fko.trans-cosmos.co.jp
t9655832 / aar.trans-cosmos.co.jp
** ruby-1.3.6 リリース **
--------------------------------------------------