Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Непонятная ошибка при завершении программы.   Найти похожие ветки 

 
Nikos   (2005-11-20 22:23) [0]

Писал программу. На главной форме 2 кнопки далее и выход. По нажатию на кнопку выход возникает вот такая ошибка.
Project temp.exe raised exception class EInvalidPointer with message "Invalid pointer operation". Process stopped. Use Step or Run to continue.
Вот процедура обработки нажатия на эту кнопку:

procedure TfmMain.btExitClick(Sender: TObject);
begin
  close;
end;


Пробовал вставить в место close; fmMain.Close; но ошибка остается. Также писал и Application.Terminate; но ошибка прежняя остается. Самое

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

чем тут дело? Может это ошибка самой Делфи? В данном модуле есть еще только одна процедура - нажатие на кнопку далее. Вот она:

procedure TfmMain.btNextClick(Sender: TObject);
begin
  fmRes.Show;
  fmMain.Hide;
end;


Подскажите, как исправить ошибку?


 
Плохиш ©   (2005-11-20 22:27) [1]

Предлагаешь нам по-медитировать? Или сам отладчиком воспользуешься?


 
Германн ©   (2005-11-21 02:32) [2]

А ведь весьма знакомые ушки. :)
Почему-то кажется, что Close выполняется моментально! А ведь это может быть весьма длительный и "процедуроёмкий" процесс, который только начинается при вызове сей процедуры.


 
brother ©   (2005-11-21 05:55) [3]

А ошибочку надо исправлять в 15 строке! Точно.
Если отладчиком не умеешь пользоваться то за тебя твой код никто не
отладит. Если так все сложно, давай по конкретней!


 
GuAV ©   (2005-11-21 12:07) [4]

Для начала - смотреть обработчики OnDestroy, финализацию модулей, проверить правильность работы со строками. "Общения" со своей длл нет ?


 
Nikos   (2005-11-22 10:13) [5]

> Плохиш
> сам отладчиком воспользуешься?
Я ставлю точку останова на строке close, но после нажатия F7 вылетает эта ошибка. Может подскажешь, как еще проследить ошибку?

> brother
> А ошибочку надо исправлять в 15 строке! Точно.
А откуда такая уверенность? В сообщение ошибки упоминание о 15 строке не было.
> Если отладчиком не умеешь пользоваться то за тебя твой код никто не
отладит.
Можешь объяснить как это сделать? У меня есть книга Фаронова по всем версиям Делфи, но про отладку кода там ничего нет. Если знаешь в инете статьи с неплохим описанием, может скинешь мне сслыки или в двух словах объясни на форуме.

> GuAV
> Для начала - смотреть обработчики OnDestroy, финализацию модулей
Дело в том, что в модуле Res при создании формы я использую динамический массив объектов TImage. Я думал, что при выходе он дает такую ошибку. В обработчике кнопки Exit я добавил строку финализации
procedure TfmMain.btExitClick(Sender: TObject);
begin
 Finalize(Im);
 close;
end;

к сожелению это не помогло и ошибка осталась.
Как мне просмотреть обработчик OnDestroy?


 
Digitman ©   (2005-11-22 10:16) [6]

procedure TfmMain.btExitClick(Sender: TObject);
begin
 Release;
end;


 
Плохиш ©   (2005-11-22 11:29) [7]


> Nikos   (22.11.05 10:13) [5]
> > Плохиш
> > сам отладчиком воспользуешься?
> Я ставлю точку останова на строке close, но после нажатия
> F7 вылетает эта ошибка. Может подскажешь, как еще проследить
> ошибку?

Открой окно CPU и удивись, сколько там всего выполняется, это первое. Второе, пересобери проект с включённой опцией "Использовать Debug-библиотеки".


 
Плохиш ©   (2005-11-22 11:29) [8]


> Nikos   (22.11.05 10:13) [5]
> > Плохиш
> > сам отладчиком воспользуешься?
> Я ставлю точку останова на строке close, но после нажатия
> F7 вылетает эта ошибка. Может подскажешь, как еще проследить
> ошибку?

Открой окно CPU и удивись, сколько там всего выполняется, это первое. Второе, пересобери проект с включённой опцией "Использовать Debug-библиотеки".



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
3-1130481790
surkis
2005-10-28 10:43
2005.12.11
имя SQL Servera


4-1127738848
NikNet
2005-09-26 16:47
2005.12.11
Как сделать мою форму позади всех?


3-1130388876
syte_ser78
2005-10-27 08:54
2005.12.11
запрос на регистронезависимую выборку


14-1132392037
Separator
2005-11-19 12:20
2005.12.11
XML


2-1132248187
Leks
2005-11-17 20:23
2005.12.11
Нужно копирнуть проге саму себя