|
0 / 0 / 0 Регистрация: 24.07.2014 Сообщений: 9 |
|
|
1 |
|
|
17.08.2014, 13:06. Показов 19600. Ответов 11
У меня выбрасывает ошибку в Delphi… Переустановка не помогла, что делать? Миниатюры
__________________
0 |
|
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
17.08.2014, 13:06 |
|
11 |
|
4880 / 2753 / 848 Регистрация: 04.10.2012 Сообщений: 10,037 |
|
|
17.08.2014, 15:55 |
2 |
|
У меня выбрасывает ошибку в Delphi когда?
0 |
|
Пишу на Delphi…иногда 1422 / 1277 / 286 Регистрация: 03.12.2012 Сообщений: 3,914 Записей в блоге: 5 |
|
|
17.08.2014, 16:38 |
3 |
|
запускайте Delphi от имени администратора
0 |
|
0 / 0 / 0 Регистрация: 24.07.2014 Сообщений: 9 |
|
|
17.08.2014, 20:32 [ТС] |
4 |
|
не помогло Добавлено через 22 секунды
0 |
|
4880 / 2753 / 848 Регистрация: 04.10.2012 Сообщений: 10,037 |
|
|
17.08.2014, 20:53 |
5 |
|
Ошибка при запуске эта проблема связана с ОС, а не со средой, точнее с обновлениями. В Delphi 2007-2010 эти обновления блокируют доступ к файлу «EditorLineEnds.ttr».
1 |
|
0 / 0 / 0 Регистрация: 24.07.2014 Сообщений: 9 |
|
|
17.08.2014, 21:16 [ТС] |
6 |
|
Удалите обновления KB2982791, KB2970228, Как??? Что это??? (простите ламера)
0 |
|
2 / 2 / 0 Регистрация: 05.08.2013 Сообщений: 24 |
|
|
17.08.2014, 21:44 |
7 |
|
Удалите обновления KB2982791, KB2970228, Как??? Что это??? (простите ламера) Это обновления Windows. Удалить можно так -Панель управления-Центр обновления Windows- установленные обновления.
1 |
|
4880 / 2753 / 848 Регистрация: 04.10.2012 Сообщений: 10,037 |
|
|
17.08.2014, 21:46 |
8 |
|
Как??? Что это??? Так
2 |
|
1 / 1 / 0 Регистрация: 14.07.2014 Сообщений: 31 |
|
|
16.10.2014, 10:16 |
9 |
|
эта же ошибка Delphi 2007 error: “Cannot create file C:Users%Username%AppDataLocalTempEditorLineE nds.ttr” возникла у меня на win8.1×64
1 |
|
Galiahmetov |
||||
|
19.10.2014, 16:06 |
10 |
|||
|
Можно решить эту проблему через запуск Delphi 2010
Здесь USERNAME замените на свой. |
|
6 / 6 / 0 Регистрация: 21.07.2012 Сообщений: 144 |
|
|
09.03.2016, 16:56 |
11 |
|
Для решения проблемы в IDE Dephi 2010 нужно скачать это расширение по этой ссылке.
0 |
|
2 / 2 / 0 Регистрация: 02.07.2018 Сообщений: 10 |
|
|
06.02.2019, 15:08 |
12 |
|
murfik не помогло. Замучала эта ошибка. Еще и глюк приключился — расширило все мои компоненты и размер шрифтов.
0 |
|
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
06.02.2019, 15:08 |
|
Помогаю со студенческими работами здесь Ошибка: «Процесс не может получить доступ к файлу, так как этот файл используется другим процессом» Процесс не может получить доступ к файлу «C:ProSettingNameFunction.txt», так как этот файл используется другим процессом IO Exception «Процесс не может получить доступ к файлу, т.к. этот файл используется другим процессом» private void t_Tick(object sender, EventArgs e) Процесс не может получить доступ к файлу, так как этот файл используется другим процессом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 12 |
|
|
|
|
Пожалуйста, выделяйте текст программы тегом [сode=pas] … [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как «свернуть» программу в трей.
3. Как «скрыться» от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
… (продолжение следует) …
Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка — 60 дней. Последующие попытки бан.
Мат в разделе — бан на три месяца…

ошибка доступа к файлу
, или как закрыть файл принудительно?
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
|
|
Junior
Рейтинг (т): 1 |
Пытаюсь сохранить значение TStringList в файл с помощью TStringlist.SaveToFile() Но иногда вылетает ошибка доступа к файлу — пишет что файл уже открыт другим процессом. Т.е. иногда все работает, а иногда нет Как тогда принудительно закрыть файл, перед сохранением? P.S. С этим файлом я работаю только через TStringList.SaveToFile() и TWebBrowser.Navigate(). |
ViktorXP |
|
|
try MyStringlist.SaveToFile(‘кудато в небытие’); except ShowMessage(‘Закрой файл, а то глаз выколю!!’); // тут можна сказать левой процедуре чобы та закрыла свой доступ и дала дорогу молодым))) // а потом вызвать процедуру повтора end; Добавлено 27.01.08, 06:45 |
|
tyoma_first |
|
|
Junior
Рейтинг (т): 1 |
// тут можна сказать левой процедуре чобы та закрыла свой доступ и дала дорогу молодым))) // а потом вызвать процедуру повтора Какую процедуру использовать или как написать свою? Напомню что я с этим файлом работаю только с помощью TStringList.SaveToFile() и TWebBrowser.Navigate(). Может быть TWebBrowser держит файл открытым? Если да — то как ему сказать что файлы закрывать надо?.. |
ViktorXP |
|
|
Ну веб браузер не использует постоянно страничку илиже перед сохранением зделать |
|
tyoma_first |
|
|
Junior
Рейтинг (т): 1 |
Цитата ViktorXP @ 27.01.08, 17:35 илиже перед сохранением зделать
делал — не помогает |
|
simsergey |
|
|
Цитата ViktorXP @ 27.01.08, 06:43 ShowMessage(‘Закрой файл, а то глаз выколю!!’);
Гениально! Надо себе в прогу засунуть |
ViktorXP |
|
|
tyoma_first ну тада показывай весь исходник |
|
tyoma_first |
|
|
Junior
Рейтинг (т): 1 |
Нее.. исходник там очень большой (бывший дипломный проект |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Delphi: Общие вопросы
- Следующая тема
[ Script execution time: 0,0934 ] [ 16 queries used ] [ Generated: 28.01.23, 18:02 GMT ]
Вам необходимо обновить браузер или попробовать использовать другой.
-
Главная -
Форумы
-
Программирование и Дизайн
-
Языки программирования
-
Delphi
Delphi РЕШЕНИЕ: «EditorLineEnds.ttr». Этот файл занят другим процессом…
-
Автор темы
donvard -
Дата начала
27 Апр 2016
- Статус
- В этой теме нельзя размещать новые ответы.
![]()
- Дней с нами
- 2.865
- Розыгрыши
- 1
- Сообщения
- 710
- Репутация
+/- -
247
- Реакции
- 1.132
- Telegram
- donvardix
-
27 Апр 2016
-
#1
Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
И приходилось перезагружать компьютер чтобы эта ошибка исчезла
Эта проблема легко решается фиксом
Ссылка на Fix: http://www.delphifeeds.com/go/s/125634
![]()
- Дней с нами
- 3.340
- Розыгрыши
- 1
- Сообщения
- 788
- Репутация
+/- -
92
- Реакции
- 771
-
14 Июн 2016
-
#3
- Статус
- В этой теме нельзя размещать новые ответы.
-
Главная -
Форумы
-
Программирование и Дизайн
-
Языки программирования
-
Delphi
- Mipped.com Milk
- Russian (RU)
- Обратная связь
- Условия и правила
- Политика конфиденциальности
- Помощь
- Главная
- RSS
It is not AssignFile() that fails, but your call to Rewrite() on a file with the Hidden attribute set. Following explains it:
Typically you call Rewrite(F) in order to erase the file and write new data to it with subsequent Write(F, ...) or WriteLn(F, ...) calls.
From docs (System.Rewrite):
If an external file with the same name already exists, it is deleted
and a new empty file is created in its place.
There is no problem opening the file for writing with the Append() command.
(Based on above I drew the conclusion that it is the deletion that fails with the Access denied message. That was cutting the corners too much.)
Beaten by comments I traced through the code and compared actual code with MSDN documentation for CreateFile:
Actual code:
// if mode is fmOutput (as it is for Rewrite)
OpenMode = GENERIC_WRITE
Flags = CREATE_ALWAYS
// ...
Temp := CreateFile(t.Name, OpenMode, FILE_SHARE_READ, nil, Flags, FILE_ATTRIBUTE_NORMAL, 0);
And documentation:
If CREATE_ALWAYS and FILE_ATTRIBUTE_NORMAL are specified, CreateFile
fails and sets the last error to ERROR_ACCESS_DENIED if the file
exists and has the FILE_ATTRIBUTE_HIDDEN or FILE_ATTRIBUTE_SYSTEM
attribute.
Calling Rewrite() on a existing file with the hidden attribute fails always.
It is not AssignFile() that fails, but your call to Rewrite() on a file with the Hidden attribute set. Following explains it:
Typically you call Rewrite(F) in order to erase the file and write new data to it with subsequent Write(F, ...) or WriteLn(F, ...) calls.
From docs (System.Rewrite):
If an external file with the same name already exists, it is deleted
and a new empty file is created in its place.
There is no problem opening the file for writing with the Append() command.
(Based on above I drew the conclusion that it is the deletion that fails with the Access denied message. That was cutting the corners too much.)
Beaten by comments I traced through the code and compared actual code with MSDN documentation for CreateFile:
Actual code:
// if mode is fmOutput (as it is for Rewrite)
OpenMode = GENERIC_WRITE
Flags = CREATE_ALWAYS
// ...
Temp := CreateFile(t.Name, OpenMode, FILE_SHARE_READ, nil, Flags, FILE_ATTRIBUTE_NORMAL, 0);
And documentation:
If CREATE_ALWAYS and FILE_ATTRIBUTE_NORMAL are specified, CreateFile
fails and sets the last error to ERROR_ACCESS_DENIED if the file
exists and has the FILE_ATTRIBUTE_HIDDEN or FILE_ATTRIBUTE_SYSTEM
attribute.
Calling Rewrite() on a existing file with the hidden attribute fails always.
← →
Gloomer ©
(2006-09-24 21:13)
[0]
В строкеStream := TFileStream.Create(FileName+fDLog, fmOpenRead);
вылетает ошибка «Процесс не может получить доступ к файлу, т.к. файл занят другим процессом»
На что надо заменить fmOpenRead ?
![]()
![]()
← →
Ketmar ©
(2006-09-24 21:14)
[1]
добавить ro fmShareDenyWrite, например. или почитать, наконец, справку…
![]()
![]()
← →
Gloomer ©
(2006-09-24 21:20)
[2]
Изначально так и было.
Точнее, использовалось TStrings.LoadFromFile, где так и описаноStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
Но это не решает проблемы.
При этом файл прекрасно открывается другими программами
![]()
![]()
← →
Правильный Вася
(2006-09-24 21:25)
[3]
>>> файл прекрасно открывается другими программами
они его и держат???
![]()
![]()
← →
Gloomer ©
(2006-09-24 21:33)
[4]
Нет — не они.
Процесс, который держит — известен.
При этом при открытии тем же блокнотом процесс уже запущен и использует нужный файл и блокнот его открывает.
![]()
![]()
← →
Ketmar ©
(2006-09-24 22:25)
[5]
fmShareDenyNone
![]()
![]()
← →
Gloomer ©
(2006-09-24 23:12)
[6]
2 Ketmar
Оно самое — спасибо
![]()
![]()
← →
Ketmar ©
(2006-09-24 23:13)
[7]
>[6] Gloomer(c) 24-Sep-2006, 23:12
>2 Ketmar
>Оно самое — спасибо
только учти — это опасно. мало ли, что там, в файле, поменяют, пока ты его читаешь.
![]()
![]()
← →
ProgRAMmer Dimonych
(2006-09-24 23:38)
[8]
Есть ещё TMemoryStream с методом LoadFromFile. Читаем, меняем всё, что душе угодно, вызываем SaveToFile и по фигу, кто там что поменял за время работы.
![]()
![]()
← →
Ketmar ©
(2006-09-24 23:52)
[9]
>[8] ProgRAMmer Dimonych 24-Sep-2006, 23:38
>и по фигу, кто там что поменял за
>время работы.
особенно, если это файл со структурой и данными, например. закешированый программой. ей будет очень удивительно.
![]()
![]()
Временами при работе с файлами в языке Delphi попытка открыть файл завершается неудачным образом и вызывает ошибку времени выполнения данной программы. Причинами ошибки открытия файлов Delphi могут быть следующие факторы.
К примеру, программа пытается открыть файл, расположенный на гибком диске, которой еще не готов к работе (не закрыт механизм дискового накопителя, либо диск отсутствует в накопителе).
Второй причиной может быть ситуация, когда открываемый в режиме добавления файл отсутствует (то есть, нет файла – и потому добавлять некуда). В процессе запуска программы из Delphi при возникновении ошибки в момент открытия файла появляется исключение, и на дисплее ПК высвечивается специальное диалоговое окно с сообщением об ошибке открытия файла:

Если запуск программы проводится из системы Windows, то внешний вид окна с сообщением, сигнализирующем о возникновении ошибки при открытии файла, представится следующим образом

Для того, чтобы программа самостоятельно контролировала результат исполнения операции открытия файла, нужно провести проверку значения функции IOResult (что означает результат ввода/вывода: Input-Output – ввод-вывод, а Result — результат). Функция IOResult принимает значение 0 в случае успешного завершения операции ввода/вывода, иначе возникает код ошибки (не 0).
Для обеспечения возможности проверки программой результата выполнения инструкций ввода/вывода следует разрешить программе это делать. Поэтому перед инструкцией, осуществляющей вызов процедуры открытия файла, необходимо указать директиву компилятору – строку {$I-} для запрета автоматической обработки возможных ошибок ввода/вывода.
Данная директива как бы сигнализирует компилятору, что программа сама будет осуществлять контроль возможных ошибок. Следом за инструкцией открытия файла не забудьте указать директиву {$I+} для восстановления автоматической обработки возможных ошибок ввода/вывода.
На рис. ниже представим блок-схему алгоритма, реализующего открытие файла для добавления, которое обеспечит создание файла ( и в результате устранит ошибку, возникающую при возможности открытия несуществующего файла) в том случае, если открываемый для добавления файл отсутствует на диске.

Предложим фрагмент программы, который реализует вышеприведенный алгоритм действий.
. . .
AssignFile(fn,filename);
{$I-}
Append(fn) // открываем файл для добавления в него информации
{$I+}
if IOResult<> 0 // ошибка открытия файла then
Rewrite(fn); // открыть файл для записи
// здесь открыт существующий или новый файл
. . .
Перед окончательным завершением своей работы программой должны быть закрыты все открытые файлы. Чтобы это осуществить в языке Delphi, нужно сделать вызов процедуры close. Данная процедура содержит всего лишь один параметр – наименование файловой переменной.
Пример
откуда fn обозначает имя файловой переменной. Итак, мы разобрали некоторые ошибки открытия файлов Delphi. Двигаемся дальше.
Похожие записи:
- Процедуры Delphi
- Функции Delphi
- Операция присваивания Delphi
- Выражения Delphi
- Назначение файла Delphi





Я именно так и делаю. Меня как раз интересует момент
). Так что даже если выложу — придется много разбираться