![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 669
|
![]()
Всем доброго времени суток.
Никак не разберусь в чём тут пробелма, при закрытии вылазит, ошибка чтения/записи, причём вылазит через раз, ошибка на таких строках: Seek(VFile, 0); Seek(VFile, Random(FileSize(VFile))); Текст ошибки: First chance exception at $76C6B727. Exception class EInOutError with message 'I/O error 103'. Process labwork2.exe (5420) После этой ошибки следующей вылазит на VCS.Leave; Текст ошибки такой: First chance exception at $76C6B727. Exception class EAccessViolation with message 'Access violation at address 004BA85F in module 'labwork2.exe'. Read of address 00000000'. Process labwork2.exe (4008) Вот полный исходник приложения, в приложении имеется несколько потоков которые читают файл и несколько тех, которые случайным образом его модифицируют Код:
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
![]()
А где открытие файла перед обращением к нему ?
Я вижу только при создании в FormCreate, обращения происходят не только там. Эта ошибка как раз об этом.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 15.01.2010
Сообщений: 1,325
|
![]()
Нехило тут разбираться надо...
Первое предположение: может, файл уже закрыт, когда прога хочет к нему обратиться? Отладчик по шагам пройдите, гляньте, что там происходит.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "[ПРОграммист]" Yan's Home Digital Lab |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 669
|
![]()
При создании я связываю файл, потом открываю его для чтения, при чтении каждый раз перемещаю текущую файловую позицию в начало файла и считываю файл, при закрытии формы соответственно закрываю файл.
А зачем мне каждый раз при чтении чтении файла его снова открывать, если я его закрываю только при закрытии формы. И ещё раз повторяю при выполнении всё нормально, но при закрытии приложения вылазит ошибка. UPD: Прошолся отладчиком, уничтожении формы я уничтожаю критическую секцию: Код:
Код:
Код:
Код:
UPD: Мудрить не стал, сделал так ![]() Код:
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли Последний раз редактировалось Marsel737; 22.10.2010 в 23:21. |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 15.01.2010
Сообщений: 1,325
|
![]()
Рад, что проблема решилась. У меня тут похожая была, но проект был настолько здоровый, что пошагово отлаживать решался только первые 4 часа этого занятия
![]() Щас у себя проверю...
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "[ПРОграммист]" Yan's Home Digital Lab |
![]() |
![]() |
![]() |
#6 | |||
Форумчанин
Регистрация: 09.11.2009
Сообщений: 669
|
![]()
Мда.. это какой же проект должен быть чтоб его пошагово 4 часа отлаживать.
Раз уж проблема решилась, то хочу задать ещё один вопрос пока модераторы не видят ![]() Цитата:
Код:
UPD: А при следующей компиляции уже такой лог: Цитата:
Цитата:
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли Последний раз редактировалось Marsel737; 22.10.2010 в 23:57. |
|||
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 669
|
![]()
ошибка форума
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли |
![]() |
![]() |
![]() |
#8 | |
Участник клуба
Регистрация: 15.01.2010
Сообщений: 1,325
|
![]() Цитата:
Большой, вобщем )) там еще компонентов нестандартных напихано... Вашего вопроса не понял. По логу видно, что все происходит за одну секунду, т.е. надо миллисекунды вводить, чтоб делать выводы о том, сколько что делается.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "[ПРОграммист]" Yan's Home Digital Lab |
|
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 669
|
![]()
Если не ошибаюсь, вроде бы при пошаговой компиляции при наличии сторонних компонентов приходится ещё пошагово проходиться по реализации этих компонентов, поэтому чтобы этого избежать можно нажать F4 предварительно поставив курсор на нужную строку и уже с этой строки продолжить пошагово по F7, точно так же можно пропускать длинные циклы
UPD: Вопрос заключается в следующем, почему потоки выполняются друг за другом, ведь они работают все одновременно, причём некоторые из них работают быстрее других: Цитата:
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли Последний раз редактировалось Marsel737; 23.10.2010 в 00:31. |
|
![]() |
![]() |
![]() |
#10 | |||
Участник клуба
Регистрация: 15.01.2010
Сообщений: 1,325
|
![]() Цитата:
А компоненты есть и по работе с файлами, поэтому и их код смотреть надо. Цитата:
Почему такая очередность работы потоков? Добавлено позже: Цитата:
(сорри, я с кодом не разбирался, времени жалко, да и голова на ночь не варит)
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "[ПРОграммист]" Yan's Home Digital Lab Последний раз редактировалось ex.cluz; 23.10.2010 в 01:00. |
|||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
страница автоматически обновляется через 1 секунду только один раз | Zeron | JavaScript, Ajax | 5 | 14.06.2010 08:18 |
почему вылетает ошибка при передачи файлов через цокет | leonw | Работа с сетью в Delphi | 6 | 19.01.2010 22:16 |
после скачивания 40-50 мб начинают вылазить ошибки винды | Красавчег))) | Windows | 6 | 09.10.2009 22:29 |
Почему обработчики OnMouseWheel происходят несколько раз подряд? (Delphi7) | DomiNick | Общие вопросы Delphi | 5 | 23.08.2009 22:11 |
WinRAR запускается через раз | VitAngel | Общие вопросы Delphi | 0 | 16.02.2007 14:50 |