| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Не могу открыть файл |
| Автор: Hacker 21.4.2006, 13:49 |
| У меня такая проблема: есть файл (лог), который мне надо открыть и читать его, есть прога, которая в него пишет. Пока прога запущена, файл открыт ей. При открытии лога блокнотом проблем не возникает, а при открытии из моей проги через TFileStream орёт, что файл занят другим процессом и не может быть открыт. Пробовал сл. способы: FileStreamLog:=TFileStream.Create(AppPath+'logfile.log',fmOpenRead); FileStreamLog:=TFileStream.Create(AppPath+'logfile.log',fmOpenRead, fmShareCompat); FileStreamLog:=TFileStream.Create(AppPath+'logfile.log',fmOpenRead, fmShareDenyNone); FileStreamLog:=TFileStream.Create(AppPath+'logfile.log',fmOpenRead, fmShareCompat+fmShareDenyNone); Почему блокнот открывает а моя прога не хочет? |
| Автор: Snowy 21.4.2006, 13:53 | ||
|
| Автор: Hacker 21.4.2006, 13:59 |
| Урррраааа!!! Заработала!!! Snowy, Спасибо огромное! Сделал как ты написал и всё сразу заработало! |
| Автор: Defm 10.9.2008, 10:16 | ||
Примерно такая же ситуация, но на сей раз моя прога - служба winnt. не могу открыть лог даже блокнотом во время ее работы. В сервисе прописано следующее
Уж не пытается ли Notepad открыть лог-файл с режимом fmShareExclusive? |
| Автор: morpheyushka 10.9.2008, 10:28 | ||||
У меня так сделано и все можно открыть и смотреть
|
| Автор: Defm 10.9.2008, 10:34 |
| Перекомпилировал службу с вашим кодом, утсановил, запустил... Она пишет в файл.. Но я по прежнему не могу открыть его блокнотом.. А как у вас реализована сама запись? |
| Автор: CodeMonkey 10.9.2008, 12:34 |
А при создании файла, кто у вас владельцем получается? Случайно там не в правах на файл дело? Если службу остановить, файл потом нормально открывается? |
| Автор: Snowy 10.9.2008, 15:00 |
| А зачем открывать его блокнотом? Можно и Far'ом посмотреть. А можно и свой вьювер написать... |
| Автор: Defm 11.9.2008, 07:11 |
| После завершения работы службы файл вполне нормально открывается тем же Notepad На машине у меня админские права. Служба запускается под SYSTEM Даже если предположить что во время выполнения службы мне не хватает прав, то откуда бы им взятся после ее завершения. Да и сообщение о недостатке прав выглядит по другому. Far - стоит: "Нарушение совместного доступа к файлу" по F3 Писать свой просмотровщик - издеваетесь? |