Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.01.02;
Скачать: [xml.tar.bz2];

Вниз

TService, TThread и запись в файл.   Найти похожие ветки 

 
grisme ©   (2010-10-09 16:12) [0]

доброго времени суток, уважаемые мастера. столкнулся с проблемой:
есть служба (TService). при инициализации(ServiceStart), создаётся объект TThread.
далее, в ServiceExecute идёт простая обработка событий от диспетчера служб. а объект TThread выполняет работу, до вызова ServiceStop (где останавливается и уничтожается). это всё для примерного понимания "модели" приложения.
Проблема в том, что из TThread.OnExecute делаю попытки записи в файл.

var
 x : Cardinal;
 t : TextFile;
begin
 AssignFile(t, "thread.log");
 Rewrite(t);
 x := 0;
 Writeln(t, "x = ", x);
 while not Self.Terminated do Inc(x);
 Writeln(t, "Thread stopped, x = ", x);
 CloseFile(t);
end;


по логике, сразу после старта службы, в файле thread.log должна появиться запись x = 0.
но записи появляются только после завершения службы (и - получается - остановки нити). причём, обе сразу:
x = 0
Thread stopped, x = <насуммированное значение>
.
т.к. в конце, x явно больше нуля, получается, что нить вполне нормально работала.
но почему же не производилась запись в файл?


 
MBo ©   (2010-10-09 16:50) [1]

Запись производится при закрытии файла и при достижении буфером некоего размера. Принудительная запись - Flush(file), если такая функция есть для текстовых файлов


 
grisme ©   (2010-10-09 16:58) [2]

MBo ©   (09.10.10 16:50) [1]

Спасибо, за разъяснение! :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.01.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.002 c
2-1279887034
Mishenka
2010-07-23 16:10
2011.01.02
Как в cxVerticalGrid из DevExpress задать EditorProperties ?


2-1286375678
AnGel
2010-10-06 18:34
2011.01.02
как узнатьть на какой созданный компонент нажал пользователь?


2-1286382969
Илья2
2010-10-06 20:36
2011.01.02
Как завершить работу DLL?


15-1283258948
Rouse_
2010-08-31 16:49
2011.01.02
Вот и официальная пьяночка подоспела :)


2-1286751023
DROWSY
2010-10-11 02:50
2011.01.02
Посоветуйте как организовать ввод в таблицу.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский