| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > В чем ошибка? |
| Автор: МММ 26.12.2002, 11:25 | ||
Во первых не закрашивает, а во вторых выдает ошибку StackOverflow ? |
| Автор: Vit 26.12.2002, 13:47 | ||
StackOverflow - обычно если рекурсия "не выходит" т.е. программа зацикливается полностью. Пересмотрите условия выхода из рекурсии, я к коду не приглядывался но похоже что процедура вызывает саму себя с такими же параметрами. Иногда StackOverflow возникает при очень большой глубине и массивных процедурах выхова (здесь это похоже не этот случай). Дело в том что рекурсия очень опасная штука - на этапе компиляции компилятор абсолютно не знает глубину вызова, но от него требуется зарезервировать память для стека, поэтому возможен вариант когда стека не хватает. В опциях линкера есть размеры стека и их можно изменить чтобы он рекурсия "влазела", но если вызов "зациклился" то это естественно не поможет |
| Автор: МММ 26.12.2002, 15:56 | ||
| все разобрался!!!!!! вот так надо
|
| Автор: Step 26.12.2002, 18:59 |
| вообще надо помнить что при рекурсии надо очень четко определять процес выхода. |