Главная страница
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.038 c
14-1095092172
}|{yk
2004-09-13 20:16
2004.10.03
Сабо обозвал Интернет "сборищем бомжей с Бессарабки"


6-1090958052
Lobster
2004-07-27 23:54
2004.10.03
IP -> HostName


14-1095408271
Prohodil Mimo
2004-09-17 12:04
2004.10.03
Что более правильно: предопределённый массив или CASE?


11-1081172074
nester
2004-04-05 17:34
2004.10.03
Что ето????? Unable to build ....


1-1095663379
vigo
2004-09-20 10:56
2004.10.03
Резка txt файла...