Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Armageddets
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 7
1

Stack is overflow в игре

09.06.2015, 14:21. Просмотров 255. Ответов 3
Метки нет (Все метки)

Доброго времени суток, уважаемые эксперты. Я занялся созданием программы, но в ходе ее работы у меня появляется ошибка "Stack is overflow". Это происходит на этапе заполнения клеточного поля. Дело в том, что заполнять это поле нужно так чтобы не было повторений цифр (1-6) по вертикали, горизонтали и двум диагоналям. Когда я ставлю проверку на совпадение по любым двум направлениям то все отлично работает и совпадений по этим направлениям нет. Но когда добавляю третью любую проверку, то вылетает эта ошибка. Я не могу понять почему так. Само поле у меня в виде массива. Если бы ошибки были в проверках моих то не работали конкретные проверки, а так могут работать любые две одновременно.

В общем помогите разобраться, пожалуйста. Заранее благодарен всем!

Исходник прилагаю:
http://rghost.ru/74jgwCRP7
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2015, 14:21
Ответы с готовыми решениями:

stack overflow
Ну ни как не хочет работать function p: string; var plist: TStringList; c:...

Ошибка stack overflow
Вылетает ошибка "stack overflow", менял Max stack size с $00100000 на...

Stack overflow в чате
Здравствуйте, делаю чат(клиент-сервер) в Delphi 7 на сокетах. После каких...

ошибка Overflow Stack
Доброго времени суток! Дело в том что у меня в B. Delphi 7 проект перед этим...

Stack Overflow при AssignFile
Есть процедурка, которая создает временный файл. При передаче массива в 480000...

3
Immo
186 / 185 / 92
Регистрация: 02.10.2012
Сообщений: 826
09.06.2015, 14:26 2
практически всегда причина этой ошибки - бесконечная рекурсия
0
mmm_corp
74 / 69 / 22
Регистрация: 30.05.2015
Сообщений: 487
09.06.2015, 14:38 3
код не смотрел но это явно признак кривой рекурсии

Добавлено через 5 минут
глянул код, тихий ужас....

2 раза зачемто Randomize;
Buf - кто освобождать будет?

код:
procedure DiagonalLev;
begin
if sovpalo=False then
begin
...
переделайте на
if sovpalo then exit;
.
.
.

зачем делать простины кода?
0
Rasomaha
55 / 55 / 37
Регистрация: 11.05.2015
Сообщений: 196
09.06.2015, 15:11 4
у тебя переменная sovpalo глобальная и не обнуляется, перед DiagonalLev; обнули ее sovpalo:=False; или сделай проверку с локальными переменами и выводи результат, True совпадений нету, False совпадение есть.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2015, 15:11

Access Violation или stack overflow
Всем привет! Есть такой код: procedure TForm1.Button4Click(Sender: TObject);...

TWebBrowser при загрузке страницы Stack Overflow
Доброго времени суток! При загрузки страницы WebBrowser1.Navigate(CurLink) ...

Stack overflow при рекурсивном вызове функции
Есть такая функция, которая вызывается в начальной точке квадрата из единичек в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru