タイトル : Re^3: たびたびすみません 投稿日 : 2006/10/13(Fri) 22:24 投稿者 : 魔界の仮面弁士
>> 具体的には、どの例外ですか? (メッセージではなく、Exception のクラス名) > UnauthorizedAccessExceptionという例外でした。 その例外は、『呼び出し元に、必要なアクセス許可がありません。』という意味だそうです。 http://msdn2.microsoft.com/ja-jp/library/system.io.file.move.aspx となると、ファイルが使用中でロックされているから上書きできない…という事だけではなく、 アプリケーションの実行ユーザ(Windowsへのログオンユーザではなく)が、そのファイルへの 書き込み権限を持っていない(読み込みは可)という可能性もありえそうです。 念のため、セキュリティ関係の設定も確認してみてください。 > >Using oldImage As Image = PictureBox1.Image > > PictureBox1.Image = Nothing > >End Using このコードを、(VB2005 ではなく)VB.NET 2002/2003 で書くなら、このようになります。 Dim oldImage As Image = PictureBox1.Image Picture1.Image = Nothing oldImage.Dispse() > これは、 > PictureBox1.Image = Nothing > PictureBox1.Dispose() > のコードを置き換えてみたほうが良いということでしょうか? そういう意味です。 もし、Image クラスがファイルをロックしているのだと仮定すれば、Dispose を本当に 必要としているのは、PictureBox クラスではなく、Image クラスの方かな、という事です。 それに、その PictureBox は、親フォームの Controls にまだ登録されたままでしょうから、 フォームに断りも無く PictureBox を勝手に Dispose するのは、問題があるでしょうしね。 |