Показать сообщение отдельно
  #3  
Старый 18.06.2008, 20:31
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Переполнение стека происходит, как правило, при большом количестве рекурсивных вызовов. Т.е. один и тот же кусок программы вызывает сам себя и в нем вовремя не наступает условие выхода.
Такое же может быть и при ситуации, когда одна процедура вызывает другую, та в свою очередь вызывает вызвавшую ее.
Третья причина ошибки (сейчас крайне редкая), когда глубина выполнения процедур слишком велика (т.е. процедура вызывает другую, та третью, третья четвертую и т.д.)
Могут быть и другие причины, но без кода программы выявить их не возможно.
Надо проверить свою программу на рекурсивные вызовы (эта штука коварная и иногда такое заметить трудно) или внимательно посмотреть, нет ли слишком глубокой вложенности вызова процедур.
__________________
Не забывайте делать резервные копии
Ответить с цитированием