![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Общий файл
ВАП © (2004-08-30 10:36:00)уважаемые мастера. есть какой-то файл-лог. некоторые программы загружают мою длл. копии этой длл должны вести лог. но лог должен быть в одном файле,т.е. чтобы все копии писали в один файл. как это можно релизовать?
Rem (2004-08-30 10:48:00) [1]1. Многопользовательская СУБД.
2. Файл:
- при необходимости записать в лог - попытка открыть файл для записи внутри try-except-end - цикл на max определенное время (секунд 5-20);
- при удачном открытии файла - позиционирование и запись с незамедлительным закрытием файла, чтобы дать возможность другим потенциальным клиентам произвести запись (они могут в этот момент крутить цикл ожидания);
- для снижения накладных расходов лучше реализовывать в отдельном потоке с пониженным приоритетом или повышенным - в зависимости от условий задачи.
3. Менеджер лога - отдельное приложение (сервис), к которому подсоединяются клиенты через COM, DCOM, DDE, сокет или по-иному. Этот менеджер и пишет данные в лог.
Erik1 (2004-08-30 10:43:00) [2]TFileStream.Create('MyFile.log', fmOpenWrite + fmShareDenyNone)
Еще можно нажать F1 на TFileStream.