Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка после закрытия программы!!! [D7, WinXP]


Страницы:   1 2 3 4

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);

Мне не интересно что ты в конце хочешь сделать, но всё подчёркнутое в помойку и никогда больше так не делай.


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо