Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.035 c
3-1094201577
AndreyG
2004-09-03 12:52
2004.10.03
Установка MSSQL на CD


4-1093892608
<b>He`KTo</b>
2004-08-30 23:03
2004.10.03
Звук


3-1094126127
REA
2004-09-02 15:55
2004.10.03
Перехват ошибок IB


1-1095748241
PulSS
2004-09-21 10:30
2004.10.03
Help - помогите заполнить дв. массив по диагоналям, зигзагом


14-1094718078
Knight
2004-09-09 12:21
2004.10.03
Вы когда-нибудь пытались...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский