tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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 するのは、問題があるでしょうしね。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。