タイトル : Re^2: 繰り返しJpeg保存時にGDI+汎用エラー 投稿日 : 2015/05/24(Sun) 22:27 投稿者 : Kobaちゃん
> > 未確認ですが! > この後のコードが投稿されていませんが、bmp オブジェクトは、使い終わったら Dispose メソッドを > 呼び出してリソースを解放しておられますか? > リソースを解放しても同様のエラーが発生しますか? bmp.Dispose() で開放しています。後半にコードを投稿しています。 1.一度起きると、VBを再起動してもだめで、Windowsの再起動が必要です。 bmp = nothingは不要と思って入れていませんが、追加してやってみます。 2.当初はbmpオブジェクトを直接PictureBoxに代入した後bmp.saveで保存していました。 タスクマネージャーで確認した結果、GDI+オブジェクトが増加していっていたので、bmpオブジェクト の直接PictureBox代入をやめて、jpgに保存した後、保存した画像をPictureBoxにLoadするようにしま した。GDI+オブジェクトは増加しなくなりましたが、エラーは解消しませんでした。 <<後半のコードは以下の通りです。>> '保存したファイルをロードする前に確認(ファイルサイズが小さければエラー) Dim fs As New FileInfo(pstrLogImgDir & "\" & strBmpFile) For i = 1 To 100 If fs.Length >= Val(3000) Then Exit For Threading.Thread.Sleep(50) Application.DoEvents() Next If i >= 100 Then '100回チェックしてもファイルサイズが3000byteより小さければ読出しエラー GetCamCap = "Cam Img保存失敗" Exit Function End If '保存したファイルをWeb画像表示用PictureBox(picCamImg)にロードして表示 picCamImg.SizeMode = PictureBoxSizeMode.AutoSize picCamImg.Load(pstrLogImgDir & "\" & strBmpFile) bmp.Dispose() <- 最後にオブジェクトを開放しています GetCamCap = "OK" Exit Function |