powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как избавиться от ошибки FRAMESTACK
25 сообщений из 35, страница 1 из 2
Как избавиться от ошибки FRAMESTACK
    #37701057
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть программа, упрощенный вариант выглядит следующим образом:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
BODY	
	d DISPLAY
 	d READCHOICE
 	G PROCESSCHOICE
        q
PROCESSCHOICE
         //делаем что-то
         h 5 //пауза 5 секунд
         G BODY        


Все работает отлично, данные в терминале обновляются как нужно, но через долгое время работы выскакивает ошибка FRAMESTACK. Описание ошибки: ДокументацияThe routine has too many nested calls to Do, For, Xecute, New, or user-written functions.. Что сделать, чтобы не получать эту ошибку?
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37701095
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заменить "Go туды , Go обратно" на Xecute и Quit.
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37701119
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4d_monsterзаменить "Go туды , Go обратно" на Xecute и Quit.
так Xecute тоже в списке причин ошибки FRAMESTACK, даже если заменить, имеется ввиду нечто типа
Код: c#
1.
Xecute "G BODY"

или что?
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37701188
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы не использовать просто бесконечные циклы, с вызовом по Do нужного выполнения

к ошибке Framestack, приведут любые команды которые делают вызов но не возвращаются обратно,
это бесконечный GOTO, или слишком сильно вложенная рекурсия (когда он вроде и должен бы вернутся но не успевает)
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37701198
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorА почему бы не использовать просто бесконечные циклы, с вызовом по Do нужного выполнения

к ошибке Framestack, приведут любые команды которые делают вызов но не возвращаются обратно,
это бесконечный GOTO, или слишком сильно вложенная рекурсия (когда он вроде и должен бы вернутся но не успевает)
да, с циклом интересная идея, не подумал. Спасибо, попробую!
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37701285
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 AndrewQwer
XECUTE - это я перепутал

Вместе с Quit должно работать просто Do
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
BODY	
	d DISPLAY
 	d READCHOICE
 	 d  PROCESSCHOICE
        q
PROCESSCHOICE
         //делаем что-то
         h 5 //пауза 5 секунд
          Q 
 
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37701293
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
PROCESSCHOICE
         //делаем что-то


и внутри этого "что-то" стоит команда new ?
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37701321
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я к тому, что в каше с new есть сособенности, воспроизводится просто:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
USER>x "f  n"
 
f  n
   ^
<MAXSCOPE>
USER>x "f  n a"
 
f  n a
   ^
<FRAMESTACK>


если у вас стоит new в комментированном коде
Код: c#
1.
//делаем что-то


то тут либо FRAMESTACK, либо MAXSCOPE, смотря что наступит раньше.
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37701952
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4d_monster2 AndrewQwer
XECUTE - это я перепутал

Вместе с Quit должно работать просто Do
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
BODY	
	d DISPLAY
 	d READCHOICE
 	 d  PROCESSCHOICE
        q
PROCESSCHOICE
         //делаем что-то
         h 5 //пауза 5 секунд
          Q 
 

Не пойдет :) Нужно чтобы внутренность BODY повторялась :)
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37701953
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну я
Код: c#
1.
2.
PROCESSCHOICE
         //делаем что-то


и внутри этого "что-то" стоит команда new ?
нет, не стоит
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37701989
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwerНужно чтобы внутренность BODY повторялась :)
Как уже писалось ранее...

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
BODY	
	d DISPLAY
 	d READCHOICE
 	f  d PROCESSCHOICE q:exit
	q
PROCESSCHOICE
	//делаем что-то
	//если хватит это делать - s exit=1
	h 5 //пауза 5 секунд
	Q
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37702098
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaAndrewQwerНужно чтобы внутренность BODY повторялась :)
Как уже писалось ранее...

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
BODY	
	d DISPLAY
 	d READCHOICE
 	f  d PROCESSCHOICE q:exit
	q
PROCESSCHOICE
	//делаем что-то
	//если хватит это делать - s exit=1
	h 5 //пауза 5 секунд
	Q


да, нечто подобное и сделал! осталось подождать
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37703627
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwerосталось подождать
Применяю и GO и FOR, если правильно всё делать, без программного стека и "подвисших" NEW - программки работают без проблем.
По огрызку кода ничего не понять. Делай тестовый пример, показывай тут - догда будет больше конкретики.
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37704123
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaAndrewQwerосталось подождать
Применяю и GO и FOR, если правильно всё делать, без программного стека и "подвисших" NEW - программки работают без проблем.
По огрызку кода ничего не понять. Делай тестовый пример, показывай тут - догда будет больше конкретики.
ну передлав все на FOR с неким условием выхода все пошло без проблем. Просто когда идет GO из одного блока, потом обратно и так по кругу тут интуитивно понятно что неправильная вещь происходит :). А что значит "подвисшие" NEW? просветите плизз.
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37704815
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37704855
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwerкогда идет GO из одного блока, потом обратно и так по кругу тут интуитивно понятно что неправильная вещь происходит :).
Код: c#
1.
2.
3.
4.
5.
6.
BODY	
  ; ...
  G PROCESSCHOICE
PROCESSCHOICE
  ; ...
  G BODY        


И какая здесь неправильная вещь происходит? Ну ходит по кругу, и что тут должно глюкнуть?
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37706381
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну яAndrewQwerкогда идет GO из одного блока, потом обратно и так по кругу тут интуитивно понятно что неправильная вещь происходит :).
Код: c#
1.
2.
3.
4.
5.
6.
BODY	
  ; ...
  G PROCESSCHOICE
PROCESSCHOICE
  ; ...
  G BODY        


И какая здесь неправильная вещь происходит? Ну ходит по кругу, и что тут должно глюкнуть?

Ну а что здесь хорошего? :) еще в школе учили что использовать goto это грешно :) Cache поломало мне мировоззрение!!!
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37706451
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwerНу а что здесь хорошего? :) еще в школе учили что использовать goto это грешно :) Cache поломало мне мировоззрение!!!
Вот и докопались до первопричины. Так это значит еще в школе Вам карму испортили, и на все компьютеры порчу навели. У Вас теперь на любом языке goto должен глючить ))))
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37706458
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwer,

не в школе дело

принципиально здесь это хождение по кругу не вызовет FRAMESTACK


проблема осталась замыленой и укусит когда не ждешь

=================
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37706521
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну яВот и докопались до первопричины. Так это значит еще в школе Вам карму испортили, и на все компьютеры порчу навели. У Вас теперь на любом языке goto должен глючить ))))
наверно так и есть :)
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37707394
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwerеще в школе учили что использовать goto это грешно :)
То брэшуть! (с)
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37707405
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwerА что значит "подвисшие" NEW?
ну я уже показывал такой пример... Вот мои примеры "как не нужно использовать GO"

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
START
   // действия
LABEL
   // действия 
   d TEST
   // действия
TEST
   n val // "подвисшая" NEW
   // действия
   go LABEL
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37707411
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще один

Код: javascript
1.
2.
3.
4.
5.
6.
7.
START
   // действия
LABEL
   // действия 
   n val // "подвисшая" NEW
   // действия
   go LABEL
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37708293
AndrewQwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaВот еще один

Код: javascript
1.
2.
3.
4.
5.
6.
7.
START
   // действия
LABEL
   // действия 
   n val // "подвисшая" NEW
   // действия
   go LABEL


т.е. когда блок, в котором обьявлены new не закончил своего выполнения. Но таких блоков у меня 1000% не было, а были только блуждающие туда-суда GO =)
...
Рейтинг: 0 / 0
Как избавиться от ошибки FRAMESTACK
    #37708369
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewQwerkrvsaВот еще один

Код: javascript
1.
2.
3.
4.
5.
6.
7.
START
   // действия
LABEL
   // действия 
   n val // "подвисшая" NEW
   // действия
   go LABEL


т.е. когда блок, в котором обьявлены new не закончил своего выполнения. Но таких блоков у меня 1000% не было, а были только блуждающие туда-суда GO =)

В реальных боевых условиях
1000 %
не дают полной гарантии :)
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как избавиться от ошибки FRAMESTACK
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]