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

Вниз

Переполнение стека, что это?   Найти похожие ветки 

 
O l e g   (2004-09-03 03:16) [0]

Описание сути проблемы:
Действия происходили под W98.
При запуске программы выдалась ошибка на английском языке «Стек переполнен» и шестнадцатеричные числа.
Программа использует БД.
Может я не закрываю там что-нибудь.
Ошибка выскакивала только два раза, на разных версиях программы, а потом сразу же пропала сама собой. Хотя помнится при компиляции тоже один раз как то выдавал такое же, но сразу же прошло, под виндой ХП, я не придал этому значения.

Так, как избежать этой ошибки. Для это ошибка «темный лес», не знаю даже где искать. А вдруг повторится, моя первая можно сказать программа, которой пользоваться будут и не совсем хорошо работает. Помогите братья по разуму начинающему программисту.
Спасибо.


 
sf ©   (2004-09-08 15:31) [1]

Если числа где то равны 000000?? тогда это глючит Делфи
Выход из положения: если знаешь Debug то отладь область программы


 
сергей1   (2004-09-08 15:43) [2]

сложно искать ошибку, которая то есть то нет. Вот если бы она выскакивала относительно регулярно - то можно было бы отладчиком до причин докапаться. А вообще, если ты примерно знаешь место в твоем коде, где она вылазила - попробуй внимательно его просмотреть, можно и вообще сомнительные места переписать.


 
Vlad ©   (2004-09-08 15:45) [3]

Без кода трудно что либо понять.
Возможно какая-то процедура входит в рекурсию, или бесконечный цикл.


 
Digitman ©   (2004-09-08 15:52) [4]


> на английском языке


гораздо катастрофичней была бы ситуация, если - на папуасском

"на английском" - ценнейшая инф-ция по сабжу !!


> при компиляции тоже один раз как то выдавал такое же


как раз "при компиляции" на английском сия беда и приключается ... а на папуасском - уже в ран-тайм ...

ты думаешь вообще что говоришь ? какая нафих еще "компиляция" ?! ты УЖЕ стартовал процесс !! когда получил это сообщение !!


> сразу же прошло


знач, "пронесло" .. это была явно не диарея


 
MU ©   (2004-09-08 15:52) [5]

вот пример (грубый)

procedure TForm1.Edit2Change(Sender: TObject);
begin
  Edit2.Text :=  Edit2.Text + "1";
end;


 
сергей1   (2004-09-08 16:22) [6]

не издевайтесь над человеком

> Edit2.Text :=  Edit2.Text + "1";

у тебя это вызывает переполнение стека ?

2 oleg

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


 
MU ©   (2004-09-08 16:26) [7]

>>сергей1   (08.09.04 16:22) [6]
 я не издеваюсь
 при попытке ввода в поле Edit1 возникает событие OnChange, в обработчике которого Edit1.Text опять меняется и, следовательно
возникает событие OnChange, в обработчике которого Edit1.Text опять меняется и, следовательно возникает событие OnChange, в обработчике которого Edit1.Text опять меняется и, следовательно Stack Overflow


 
MU ©   (2004-09-08 16:31) [8]

вот еще пример со StringGrid
"обработка" OnSelectCell:

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
 ARow: Integer; var CanSelect: Boolean);
begin
 StringGrid1.Col := 0;
end;

...  Stack Overflow
т.е. если в обработчике события происходит изменения свойств объекта, которые вновь вызывают это событие



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

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

Наверх




Память: 0.49 MB
Время: 0.035 c
4-1093254884
GrayFace
2004-08-23 13:54
2004.10.03
Как узнать, обычная у окна рамка или из темы XP.


14-1095069018
Scalder
2004-09-13 13:50
2004.10.03
Общие вопросы по Delphi


4-1093095106
debuger
2004-08-21 17:31
2004.10.03
Приоритет в Вин2к


4-1093413745
sohat
2004-08-25 10:02
2004.10.03
хук на сообщения об ошибке, возможно ли такое


14-1095181659
hgd
2004-09-14 21:07
2004.10.03
Кто подскажет про декомпилятор