- - PR -
ファイルが消せない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-03-12 13:29
お世話になります。
2回目の質問になります。 開発環境 ActiveReports for .NET 2.0J SP1 Microsoft Visual Basic 2005 Windows XP 状況 印刷用のレポートにイメージを貼り付けています。 イメージはjpgファイルです。 jpgファイルが大量にできるので、使用後に削除しようとしています。 しかし、下記の内容のエラーになり削除できません。 別のプロセスで使用されているため、プロセスはファイル***.jpgにアクセスできません。 対策 : レポートはメモリーから開放する objSijisyorpt = Nothing 'レポートオブジェクト 削除部分 If System.IO.Directory.Exists(strdelflder) = True Then Dim afs As String() = System.IO.Directory.GetFiles(strdelflder, "*.jpg") 'ArrayListに追加する files.AddRange(afs) For j = 0 To files.Count - 1 ' ファイルを削除する System.IO.File.Delete(files.Item(j)) ←ここでエラーになります Next End If タイミングによっては、数件削除できて次がエラーの時もあります。 どう対処してよいか行き詰まり、問合せしました。 | ||||
|
投稿日時: 2008-03-12 13:37
問題があるのは削除処理ではなく
印刷用のレポートにイメージを貼り付けている場所ではないかと 予測します。 どのような処理をしているのかわかりませんが (JPGを読み込んで貼り付け?) そこでJPGをつかみっぱなしになっているのではないでしょうか。 レポートを開放しても JPGは開放されないと思います。 | ||||
|
投稿日時: 2008-03-12 14:16
ご返事ありがとうございます。
イメージを貼り付けている処理は Picture1.Image = System.Drawing.Image.FromFile(strKadaiPath(0)) この後に何か処理が必要なのでしょうか? | ||||
|
投稿日時: 2008-03-12 15:00
FileStream のインスタンスを生成して FromStream メソッドを使いましょう。 あとは FileStream を Close すれば良いです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-03-12 15:38
ご回答ありがとうございます。
回答のイメージは有るのですが、具体的なコーディングがエラーになります。 調べたのですが、まだ、経験が浅いのかピントきません。 Dim file1 As new FileStream = System.Drawing.Image.FromStream(strKadaiPath(0)) ----- ここがエラーです ---------------------- Picture1.Image = System.Drawing.Image.FromFile(file1) 具体的な内容はどうなりますか? | ||||
|
投稿日時: 2008-03-12 16:09
エラーは文法が間違っているせいでしょう
| ||||
|
投稿日時: 2008-03-12 18:23
もう解決してそうだけど・・・・
脳内コーディングです。開発環境無しで書いたから、間違ってたらごめんなさい。
| ||||
|
投稿日時: 2008-03-21 09:31
セラフさん、ありがとうございます。
文法が間違っていると書込みがありましたので、ここを頼ってばかりではいけないと思い。自分で2日ぐらい調べました。 結局、帳票に貼るイメージとその表示ファイルとの関連が明確にならずに諦めました。 イメージでファイルを取込んで、ファイルを開放したかったです。 諦めたので、別の対応を行いました。 処理としては、月曜〜金曜までの進捗状況を時数とイメージで画面表示します。 イメージファイルの名称を個人+日時+処理.jpgと絶対に重複しない名称にして、表示させ。 jpgを消すのは次回このシステムを立ち上げた時にして対応しました。 jpgの画面表示をさせていないので、誰もjpgは掴んでいないので消えました。 古典的ですが、これしか思いつきませんでした。 セラフさんのやり方で一度試してみます。 まだまだ、知識不足です・・色々なことにチャレンジして力を付けて行きたいです。 ありがとうございます。 |
1