Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2009, 17:27   #1
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию Непонятная ошибка.

Здравствуйте! Вообщем написал я программу не совсем маленькую, при работе с ней, ошибок ни каких не возникает, всё работает нормально, но
когда из неё выходиш то выскакивает вот такое вот (причем не всегда):

Инструкция по адресу "0x00403d2" обратилась к памяти по адресу "0x009c1ff4". Память не может быть "read".

Если нажимаю Ок вылазит еще несколько таких окон, после этого еще одно:
Runtime error 216 at 75f5B389

затестил еще раз 5 перед тем как написать сюда всё норм =)

Последний раз редактировалось program123; 12.04.2009 в 19:32.
program123 вне форума Ответить с цитированием
Старый 12.04.2009, 18:02   #2
KingOfNothing
Пользователь
 
Регистрация: 06.02.2009
Сообщений: 89
По умолчанию

Программу и код в студию! :-)
Запускается ли при выходе из программы какой-то код? в нем дело, наверно
Если вдруг захотите сказать мне спасибо - воспользуйтесь кнопкой "Добавить отзыв"
KingOfNothing вне форума Ответить с цитированием
Старый 12.04.2009, 18:16   #3
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

виновата функция "Предотвращение выполнения данных" (DEP)!!!
Эта ошибка возникает при обращении какой-либо программы или модуля программы напрямую к закрытому участку памяти.
Чтобы убрать данную ошибку, нужно подправить boot.ini либо подправить код программы, чтобы данной ошибки не появлялось....
Вот параметры для boot.ini...
В инете поищите.. Есть инфа...
NoExecute = OptIn
NoExecute = OptOut
NoExecute = AlwaysOn
NoExecute = AlwaysOff

по-моему вот так можно вірубить єту функцию...:
multi(0)disk(0)rdisk(0)partition(1) \WINDOWS="Microsoft Windows XP Professional
SP2" /noexecute=AlwaysOff/fastdetect


Либо зайдите в свойства системі- ---- Дополнительно ----- Бістродействие ---- предотвращение выполнения ..... и занесите вашу прогу в список исключений для функции DEP
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp

Последний раз редактировалось Pitbull; 12.04.2009 в 18:20.
Pitbull вне форума Ответить с цитированием
Старый 12.04.2009, 18:38   #4
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию

Занёс туда прогу, теперь вылазит отчёт об ошибке.
ладно , спасибо всем, будем разбираться.
В программе используется StringGrid в котором обрабатываются данные
по различным параметрам, сохраняются и считываются из файла.

Последний раз редактировалось program123; 12.04.2009 в 18:44.
program123 вне форума Ответить с цитированием
Старый 12.04.2009, 18:43   #5
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Опиши какие у тебя в коде действия при закрытии программы.
Будет проще тебе ответить.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 12.04.2009, 18:59   #6
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию

Код:
 if Application.MessageBox('Завершить работу?',
                                 'Сообщение',
                               MB_ICONQUESTION+mb_OkCancel) = 1 
        then begin
              Close;
               end;
program123 вне форума Ответить с цитированием
Старый 12.04.2009, 19:46   #7
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Одна из причин возможно - обращение в уже уничтоженному объекту
s.Creator вне форума Ответить с цитированием
Старый 12.04.2009, 19:55   #8
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Код:
if Application.MessageBox('Завершить работу?',
                                 'Сообщение',
                               MB_ICONQUESTION+mb_OkCancel) = 1 
        then begin
              Close;
               end;
Надеюсь этот код не в обработчике события onClose ?
Вряд-ли из за этого, ищи где у тебя память не выделена, pchar-строки, указатели... Доступ к не созданному/уничтоженному объекту. DEP тут не при чём
пыщь
JTG вне форума Ответить с цитированием
Старый 12.04.2009, 20:38   #9
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию

Нет, код написан в Onclick кнопки. И как мне отследить где именно, код не корректен, программа не маленькая, да и работает всё прекрасно, пока не выходим из неё.
Посмотрел в поиске, у людей были подобные ошибки, не с того не с сего, но причина тоже неизвестна.

Последний раз редактировалось program123; 12.04.2009 в 22:19.
program123 вне форума Ответить с цитированием
Старый 12.04.2009, 22:37   #10
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

А когда под Delphi запускаешь (отлаживаешь) ошибку выдает?
s.Creator вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД Магазин... Непонятная ошибка... Arkuz БД в Delphi 7 01.12.2008 22:19
Непонятная ошибка Juri Помощь студентам 6 07.11.2008 19:28
Непонятная ошибка RealSHELS Общие вопросы Delphi 16 24.10.2008 20:49
Непонятная ошибка!!! Delphi Dimon88 Помощь студентам 7 06.05.2008 00:14
Непонятная ошибка Slash Общие вопросы Delphi 6 19.06.2007 14:45