![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка после закрытия программы!!! [D7, WinXP]
grol © (2005-06-28 01:57:00)Мастера Delphi помогите мне разобраться по такому вопросу:
Скомпилировал прогу, открываю ее, произвожу там расчеты, когда начинаю закрывать и после закрытия выдается вот такая ошибка: Заголовок - Application Error; содержание - Exception EAccessViolation in module Project1.exe at 00003584. Access violation at address 00403584 in module 'Project1.exe'. Read of address 7874633D. Сначала я думал, что это из-за того, что я использую динамические массивы. Но это не могло быть причиной (наверное), т.к. я их по закрытию программы финализирую (обнуляю). Короче я не знаю в чем дело. А главное заметил такую тему, когда в процедуре FormClose ставлю точку останова для пошаговой отладки (В FormClose кстати как раз и происходит обнуление всех массивов), то по исполнению пошаговой отладки этой процедуры после закрытия программы ошибка не возникает. Мастера подскажите пожалуйста в чем же может быть дело или скажите, как найти эту ошибку исходя из сообщения. Заранее спасибо за ответы.
Я так уже задолбался!!!!!!! Помогите мне!!!!
Плохиш (2005-06-30 02:15:00) [21]300 byte/sec 8-O
grol (2005-06-30 02:06:00) [22]Мастера вот ссылка на файл - http://www.webfile.ru/381047 и Пароль 123456789
Спасите от погибели неопытного программиста, дайте ему шанс на выживание
kami (2005-06-30 02:05:00) [23]А у меня такая ситуация возникала (правда, и при трассировке тоже), когда вызывал какую-то API ф-ю, не зарезервировав память под возвращаемый параметр :)
Причем, результат возвращался правильный, ошибок GetLastError не выявлял, но при завершении программы - AV :))
Германн (2005-06-30 02:01:00) [24]2 grol
А это тебе действительно нужно?
Эта ошибка что-то портит?
У меня тоже есть нечто подобное. Программа при закрытии выдает сообщение об AV, но это сообщение закрывается так быстро, что и не разглядишь, что там написано. Я это отнес на "кривость Paradox и BDE, на которые, имхо, Борланд давно "положила" и не пытаюсь искать. :(
Правда у меня такое происходит "иногда".
Ну да, что-то уничтожается до того как выполнились некие действия с ним. Типа в ОС уже вернули область памяти, которая содержала некий указатель на что-то, а BDE пытается что-то выполнить над теми данными, на которые он указывал.
Но это у меня. Тем более, что моя программа предусматривает выход из нее как "нештатную ситуацию".
grol (2005-06-30 01:52:00) [25]Спасибо!
Andy BitOff (2005-06-30 01:47:00) [26]webfile.ru
grol (2005-06-30 01:46:00) [27]А куда? Я не знаю! Подскажите!
Andy BitOff (2005-06-30 01:27:00) [28]grol © (30.06.05 01:12) [40]
Бедненький ;) Ну выложи свои сырцы куда-нибудь.
grol (2005-06-30 01:12:00) [29]Я ничего плохого не имел ввиду. Я только прошу помочь мне с прогой, так как я уже не знаю как исправить эту ошибку! Поэтому и начал заговариваться.
Плохиш (2005-06-30 00:49:00) [30]
> grol © (30.06.05 00:47) [38]
>только если Вы эого уже хотите
Мы что, похожи на мазохистов?
grol (2005-06-30 00:47:00) [31]Мастера помогите я уже скомпоновал исходники с компонентами! Если что скажите куда отсылать, только если Вы эого уже хотите!
Помогите мне пожалуйста, а, то я уже в отчаянном состоянии!
Просто Джо (2005-06-29 00:27:00) [32]
> [35] Anatoly Podgoretsky © (29.06.05 00:00)
> Просто Джо © (28.06.05 19:12) [24]
> Жвлко такое выбрасывать.
На доску почета однозначно 8-|
Гаврила (2005-06-29 00:19:00) [33]Либо ошибка в финализации, либо используются глючные "потусторонние" компоненты.
Кстати попробуй форму отчета (а также все остальные кроме главной. если есть) разрушить руками (не закрывая главную форму) и посмотри, будет Access violation или нет
Anatoly Podgoretsky (2005-06-29 00:00:00) [34]Просто Джо © (28.06.05 19:12) [24]
Жвлко такое выбрасывать.
Просто Джо (2005-06-28 23:53:00) [35]
> [33] Гарри Поттер © (28.06.05 23:50)
> поставь открывающую фигурную скобку в TGlobalForm.FormClose
> после begin, а закрывающую перед end;
Шаман :)) Лучше уж тогда в DPR между begin...end.
Гарри Поттер (2005-06-28 23:50:00) [36]поставь открывающую фигурную скобку в TGlobalForm.FormClose после begin, а закрывающую перед end;
Просто Джо (2005-06-28 22:44:00) [37]А если у тебя компоненты Lab,imag,grid,ed (и прочие) создаются динамически и Parent'а у них нет, то, ради Бога, сделай им XXX.Free, а не := nil.
Просто Джо (2005-06-28 22:42:00) [38]Блин, уже просто сил нет. Убери все из procedure TGlobalForm.FormClose к чертовой матери. Ты ведь вменяем, в конце концов?
evvcom (2005-06-28 21:44:00) [39]
> Мама родная! А зачем вот это все???
Эт, чтоб никто не догадался! (с) "Операция "Ы" и другие приключения Шурика" :)
Плохиш (2005-06-28 21:40:00) [40]
> PatBlt( Report1.Canvas.Handle, 0, 0, Report1.ClientWidth,
> Report1.ClientHeight, WHITENESS);
Мне не интересно что ты в конце хочешь сделать, но всё подчёркнутое в помойку и никогда больше так не делай.