teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

試したことに、問題点を追記しました。

2017/04/21 02:22

投稿

TEC_S
TEC_S

スコア79

title CHANGED
File without changes
body CHANGED
@@ -65,6 +65,45 @@
65
65
  WorkerCopy.Dispose()を「Worker_CopyWorkerCompleted」に追加してみましたが、効果はありませんでした。。
66
66
  また、プログレスバーが閉じられる時に、リソースは全て解放されると認識していましたので、呼び出し側のダイアログを終了させる事や、pr.Dispose()等での開放もしてみましたが、効果がありませんでした。
67
67
 
68
+ ご指摘を受け調査した所、Log出力の為のLogクラスに問題がある事が分かりました。上記記載したクラスのどれでもありませんでした。
69
+
70
+ 下記がLogクラス内のコードなのですが、logFileがアクセス出来ない状態になっている場合があります。しかし、、書き込み後にしっかりと開放していると思うのですが・・・下記書かたが悪いのでしょうか。
71
+
72
+ ```C#
73
+ class AddLog
74
+ {
75
+ public void writing(string logFile, string msg)
76
+ {
77
+ if (log_path == "")
78
+ return;
79
+
80
+ //現在時刻
81
+ DateTime dt = DateTime.Now;
82
+
83
+ //書き込み
84
+ try
85
+ {
86
+ using (StreamWriter sw = new StreamWriter(logFile, true, Encoding.GetEncoding("shift_jis")))
87
+ {
88
+ string str = dt.ToString("[yyyy-MM-dd-HHmmss]") + " " + msg + "\r\n";
89
+ sw.Write(str);
90
+ sw.Close();
91
+ }
92
+
93
+ //StreamWriter sw = new StreamWriter(logFile, true, Encoding.GetEncoding("shift_jis"));
94
+ //string str = dt.ToString("[yyyy-MM-dd-HHmmss]") + " " + msg + "\r\n";
95
+ //sw.Write(str);
96
+ //sw.Close();
97
+ }
98
+ catch (Exception ex)
99
+ {
100
+ System.Windows.Forms.MessageBox.Show(ex.Message.ToString());
101
+ Console.WriteLine(ex.Message.ToString());
102
+ }
103
+ }
104
+
105
+ ```
106
+
68
107
  ###補足情報(言語/FW/ツール等のバージョンなど)
69
108
  開発環境:Visual Studio2015
70
109
  開発環境OS:Windows7 64bit