2012-03-16 4 views
0

Я пытаюсь написать некоторые сообщения в текстовый файл, используя Debug.WriteLine («Сообщение»).Debug.Writeline

Вот код.

Dim Tr As TextWriterTraceListener 
Tr = New TextWriterTraceListener(System.IO.File.CreateText("Output1.txt")) 
'Tr = New TextWriterTraceListener(System.Console.Out) 
Debug.Listeners.Add(Tr) 
Debug.WriteLine("Test Message") 

Я вижу, что файл output1.txt создается, но ничего не записывается в файл.

Как исправить эту проблему?

ответ

2

TextWriterTraceListener буфера данных, удовлетворяющих и только пишет, что, когда буфер заполнен, он закрыт/расположен, или Flush() называются:

Dim Tr As TextWriterTraceListener 
Tr = New TextWriterTraceListener(System.IO.File.CreateText("Output1.txt")) 
'Tr = New TextWriterTraceListener(System.Console.Out) 
Debug.Listeners.Add(Tr) 
Debug.WriteLine("Test Message") 
Tr.Flush() 
+0

позвольте мне попробовать, что – Virus

+0

@satish: это потому, что вы покраснел, прежде чем вы написали строку. Здесь есть аналогия с туалетом, и я не буду говорить вам. –

+0

Спасибо, Кент ... кажется, он работает. Это было просто! – Virus

1

Вы должны очистить буфер от TextWriterTraceListener.

После записи трассировки слушателя необходимо:

Tr.Flush(); 

Смотрите документацию для Flush на MSDN.

1

Вы должны закрыть и распоряжаться TextWriterTraceListener

Tr.Close() 
Tr.Dispose() 
Смежные вопросы