![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Всем привет, всех с рождеством!
Сабж: Мая программо под влиянием юзера создаёт n потоков(TThread), из каждого потока юдёт обращение к одному и тому-же лог файлу(Всего 3 файла). Я сделал вот такой коекакерский класс: Код:
Сохранение происходит только при OnDestroy класса. Далее если программа упала, тоже лога как такового нет. Ну и самое глвное это I\O Error возникает при одновлеременном вызове SaveToFile(Если сохранять сразу же после add). Решения тут два: 1. Вести для каждого потока свой лог. 2. Что-то придумать. Собственно можно ли как-то модернизировать, так чтобы новые записи сразу же добовлялись... и не происходило ошибок I/O? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
1) забить на стринлисты, они все-равно будут падать в мпогопочной проге.
2) писать сразу в файл через WinAPI 3) если хочется супер производительности, и надо произвести впечатление на инвесторов, добавить OVERLAPPED. В результате должен получиться простой и легкочитаемый код, типа такого. ггг Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
какие модули для работы ему нужны? Накидал ошибок и предупреждений=)
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
ну.. по-идее там особо ничего и не нужно. Типы unsigned и int (int32) это Cardinal и Integer. mrealloc() заменить на reallocMem(). Остальное все описано в модуле Windows.
В принципе, все это можно заменить одним вызовом WriteFile(), если не заморачиваться с OVERLAPPED.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ведение лог-файла | Vladya | Общие вопросы C/C++ | 5 | 16.03.2017 18:54 |
Как узнать номер потока из самого потока? | GaMeSTeR | Помощь студентам | 0 | 03.12.2010 09:50 |
Thread. проблемы с работой потока. Моментально исчезают созданные в потоке формы. | Casper-SC | Общие вопросы .NET | 3 | 24.04.2010 12:28 |
Ведение учета в Ексель. | stas77 | Microsoft Office Excel | 2 | 13.11.2009 17:48 |
Траблы с Интер бейзом (ведение журнала) | Tarnym | БД в Delphi | 1 | 30.03.2008 15:40 |