タイトル : Re: たびたびすみません 投稿日 : 2006/10/12(Thu) 22:47 投稿者 : 魔界の仮面弁士
> Dim reimg As String = Application.StartupPath & "\rememory.tif" 今回の件とは関係ありませんが、このような処理を行う場合には、 System.IO.Path の Combine メソッドで連結した方が良いかと思います。 それと、StartupPath に対する書き込みは、あまりおすすめできません。 テストコードという事であれば良いですが、実際のアプリでそのように組み込むと、 マルチユーザログオン時に競合がおきやすいですし、ログオンしたユーザによっては、 StartupPath に対する書き込みが許可されていない事もありますから。 > PictureBox1.Image = Nothing > PictureBox1.Dispose() 当方では試していないので、当てにはなりませんが、Dispose が必要なのは、 PictureBox よりも、むしろ Image の方だと思います。たとえば、これだとどうでしょう? 'for VB2005 Using oldImage As Image = PictureBox1.Image PictureBox1.Image = Nothing End Using # 試していないので、動作するかどうかは保障しません。(^_^;) # あくまで概念的な話という事で…。 > File.Move(reimg, reimg2) > 例外の詳細を見てみると、File.Move(reimg, reimg2)のところで、パスへのアクセスが拒否されました。 具体的には、どの例外ですか? (メッセージではなく、Exception のクラス名) http://msdn2.microsoft.com/ja-jp/library/system.io.file.move.aspx また、例外発生時に、reimg および reimg2 で示されたパスについて、エクスプローラから 手動で操作してみた場合、移動のみが拒否されるのでしょうか。それとも、コピーも拒否されますか? |