タイトル : Re^3: MS-ACCESSの解放が出来ません(解決) 投稿日 : 2016/02/03(Wed) 15:45 投稿者 : 魔界の仮面弁士
> 実はVB2005への変換で、他にもいっぱいつまずいておりまして 2005 化にあたり、「Option Strict On」でコンパイルできることを目指すと良いですよ。 > 一番のポイントは"DAODBEngine_definst"を使わない事でした DAODBEngine_definst も解放されていましたか? > 自動変換を信じると痛い目に会うという事ですね DAO の場合、Default Workspace のインスタンス管理が気にかかるので、 私自身も、DBEngine のインスタンスは自前で管理する派ですね。 > Dim tblDefs As Object > Dim tblNew As Object > Dim flds As Object これらの型は、 Dim tblDefs As DAO.TableDefs Dim tblNew As DAO.TableDef Dim flds As DAO.Fields が適切かと。 > > For Each も避けるようにしてください。For Each を使うと、 > > 裏で IEnumerator のインスタンスが生成されることになるので、 > For Each も実はトライしていました For Each の場合の問題点が、下記で紹介されています。 VB 向けの資料ではなく C# の話ですが、とりあえず斜め読みだけでも。 http://www.divakk.co.jp/aoyagi/csharp_tips_vssenum.html |