![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
![]()
Добрый вечер!
Как ни странно, но по этой теме ничего не нашёл ни в гугле, ни в DRKB, ни здесь. Ситуация такая: Сохраняю TMemoryStream в файл процедурой SaveToFile. Всё отлично, всё работает, но нужно отлавливать ошибки сохранения. Ну если файл "только для чтения" или нету прав на запись и все подобные вещи. Пользуюсь конструкцией: Код:
P.S. Вопрос на засыпку: Какие вообще ситуации могут быть при ошибке сохранения файла, к примеру, файла не существует, нет прав доступа, недостаточно места на диске. Есть ли полный список таких ошибок?
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
![]()
Выводит "Access violation at address 000000000. Read of address 00000000."
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
![]() |
![]() |
#4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Ставим бряку на начало процедуры и смотрим точное место возникновения ошибки.
|
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
![]()
Уже сделал, SaveToFile и есть точное место.
Для теста файлу можно просто заранее присвоить атрибут "Только для чтения" и попробовать сохранить MemoryStream в этот файл. Вылетит ошибка, написанная выше.
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
![]() |
![]() |
#6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Ну так прочитайте атрибуты файла и либо откажитесь от записи, либо измените их...
|
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
![]()
Проблема не только в атрибутах. Суть в том, что нужно отловить ошибку записи. Не важно будь то атрибуты, или не хватает места на диске, или прав нет, нужно отловить ошибку и узнать что за ошибка.
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
![]() |
![]() |
#8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
А попробуйте просто EXE-шник запустить (а не RUN(F9) из Delphi)
Скорее всего, exception перехватывает и отображает IDE Delphi это поведение переключается в настройках: меню - Tools - Debugges Options - закладка "Language Exception" убрать птичку [ ] Stop on Delphi Exceptions --- Ого, тут уже написали сколько! ![]() Цитата:
А ну-ка. покажите код целиком.. Вы, часом, не забыли создать TMemoryStream ?! вот, проверил. всё работает! Код:
Последний раз редактировалось Serge_Bliznykov; 03.11.2010 в 22:03. |
|
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 15.11.2007
Сообщений: 229
|
![]()
Ошибка выскакивает и при простом запуске exe файла.
Да, я знаю что ошибка выскакиевает в таких ситуациях, но здесь что-то другое. Нет, я не забыл его ни создать, ни разрушить. Всё прекрасно работает если файл есть и он доступен для записи: всё записывается прекрасно. Но если файлу поставить атрибут "только для чтения", то сразу же выскакивает эта ошибка. Для опыта попробуйте по клику на кнопку создать обработчик которые создаёт, пишет в MemoryStream, и сохраняет его в файл. Всё будет прекрасно, но потом поставьте атрибут "только для чтения" и сразу же будет вылетать эта ошибка.
Компьютер не подчиняется законам физики: глюки возникают из ниоткуда, файлы исчезают в никуда, а вес измеряется в метрах.
|
![]() |
![]() |
#10 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Код:
|
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка во время сохранения. | LizaVeta | БД в Delphi | 0 | 10.05.2010 01:21 |
TMemoryStream | Владимир1988 | Помощь студентам | 0 | 13.02.2010 13:04 |
Ошибка сохранения в файл [Delphi] | StudeHt | Помощь студентам | 5 | 10.01.2010 19:43 |
Ч чём ошибка моего кода сохранения и загрузки? | AngelOfDeath | Общие вопросы Delphi | 3 | 08.04.2008 13:55 |