Имя: Пароль:
1C
1С v8
Вывод сообщений в текстовый файл, сброс буферов
0 Эмбеддер
 
04.06.13
21:03
Использую ЗаписьТекста. Пока файл не закрыт, он не записывается. Соответственно если срубить задачу 1С до закрытия, то файл будет нулевой длины. Какие сторонние средства посоветуете? Ява скрипты?
1 Эмбеддер
 
04.06.13
21:06
Хотя в общем-то выход есть - буду использовать параметр "Дописывать"
2 Uzumaki
 
04.06.13
21:41
Судя по описанию дописывать - это немного другое, но оно поможет если программно флашить закрытием/открытием. Но как-то это некультурно получается.
3 Эмбеддер
 
04.06.13
21:49
(2) я открываю с признаком "дописывать", добавляю несколько строк и закрываю. это так пришлось сделать в 1С (очевидно запись происходит только при закрытии).
если бы программа была на Си, то при падении программы не записались бы только последние данные (чего я ожидал изначально и от 1С)
4 Uzumaki
 
04.06.13
21:54
(3) Разве в Си не надо делать flush? Я думал этим вообще апи занимается (контролирует размерность буфера).
5 Uzumaki
 
04.06.13
22:23
Только что проверил запись 1 млн строк 100 транзакций по 10к строк: ЗаписьТекста (12 секунд) в десятки раз быстрей чем ТекстовыйДокумент (не дождался).
Так что всё культурно :)
6 H A D G E H O G s
 
04.06.13
23:40
Перебрать дескрипторы процесса, вычленить файловые, получить информацию по каждому, по имени файла найти годный, получить управление по DuplicateHandle(hFile,True); и CloseHandle()
7 Uzumaki
 
04.06.13
23:50
И останется объект в платформе с закрытым хэндлом в системе...
8 H A D G E H O G s
 
05.06.13
00:45
(7) Проблемы индейцев.