|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.12.2014, 12:39 | #1 |
Пользователь
Регистрация: 26.02.2013
Сообщений: 66
|
Закрыть "чужой" файл
Если процесс открыл файл на запись, потом ненормально завершился и файл остался открытым, может другой процесс это проверить и переоткрыть? Имеются в виду Thread в одной и той же проге
|
18.12.2014, 13:46 | #2 | ||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
Цитата:
|
||
18.12.2014, 14:07 | #3 |
Пользователь
Регистрация: 26.02.2013
Сообщений: 66
|
система закроет, когда завершится вся прога. а если thread внутри неё, то нет. просто CloseFile не берёт
|
18.12.2014, 14:33 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а вы не можете закрыть файл в чужом процессе никак.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
18.12.2014, 17:10 | #5 |
Участник клуба
Регистрация: 12.09.2012
Сообщений: 1,030
|
Прсто сделай deletefile и всё. Тогда уже файл некому не достанется.
Если же надо чтобы файл мог открыватся из основного процесса, то лучше хранить дерективу на файл в основном адрессном пространстве процесса(короче говоря в разделе var юнита главной формы), тогда к нему можно будет обратится ещё раз, даже без переоткрытия.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби. Последний раз редактировалось саша40; 18.12.2014 в 17:13. |
18.12.2014, 19:17 | #6 |
Форумчанин
Регистрация: 23.03.2013
Сообщений: 218
|
Сделай копию, тогда сможешь прочитать, а так никак не закрыть.
Чтобы изменить файл, нужно принудительно завершить все нити, которые с ним связаны |
18.12.2014, 20:37 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
19.12.2014, 12:09 | #8 |
Пользователь
Регистрация: 26.02.2013
Сообщений: 66
|
Пусть даже переменная файла глобальная, всё равно AssignFile ее делать надо? Может можно как-то отловить идентификатор процесса, в к-м файл открыт? проблема в том, что нужно перезаписывать файл, не выходя из программы. неужели нет низкоуровневого доступа?
|
19.12.2014, 21:35 | #9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
сколько им не пользовался он в основном грохал процесс в котором открыт файл
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
19.12.2014, 23:19 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" | Alexsandrr | Microsoft Office Excel | 4 | 19.10.2013 14:22 |
создать файл формата ".dwg" или "dxf" | Sergey_gorobets | Помощь студентам | 2 | 26.03.2013 03:03 |
Нужно поле "Загрузить файл" в "новости сайта" | planetary | Помощь студентам | 1 | 24.06.2010 12:26 |
Исходник программы "узнать чужой IP" | YoraG | Работа с сетью в Delphi | 6 | 18.10.2009 10:01 |
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) | Dorvir | Microsoft Office Excel | 2 | 28.03.2008 10:03 |