投稿者 MMTRS  (社会人) 投稿日時 2010/6/25 13:42:31
> 1.については私はよくわかりませんが、2.はやらないでください。
> 先ほどの検証コードは現象の理由を明らかにするために示しただけですので、
> あくまできちんとCloseするのが正等な解決策です。
そうですよね・・・了解しました。

> 後、確実なCloseのために、VB2005以降であればUsing ~ End Usingの使用も検討してください。
Using ~ End Usingについては、そういうものがあることは知っていましたが今まで使っていませんでした。

確かに、GetData1、GetData2でのdrをUsingで使用した場合にも例外は確実に発生しなくなります。
Usingで宣言したものはEnd Usingで必ず破棄(Dispose?Finalize?)されるからですよね?

今後プログラムの変更等の可能性を考えれば、Using ~ End Usingを使用しつつ
必ずCloseするというのが1番確実で、パフォーマンス的にもメンテナンス効率的にも良さそうですね。

よねKENさん、それから流れ星さんも、どうもありがとうございました。