![]() |
#1 |
Участник
|
![]()
есть job
static void Job2(Args _args) { container c; c = [1, 2, 3, 4,...47] } компилирую. всё нормально. но если сделать так: static void Job2(Args _args) { container c; c = [1, 2, 3, 4,...47, 48] } то при компиляции возникает ошибка: "Переполнение во внутреннем стеке компилятора." кто-нить знает как с этим бороться и причины этого? |
|
![]() |
#2 |
Участник
|
Overview of containers
Keyword container Size of data type Dynamic Scope of data type User defined Default value 0 Implicit conversions none, but using the container-functions implicit conversion between all data types Explicit conversions none Это из руководства разработчика. Количество элементов в контейнере неограничено. |
|
![]() |
#3 |
Участник
|
но как показывает практика )) я конечно сделаю так чтоб нужный контейнер формировался динамически из нескольких более мелких. но всё же интересно откуда лезет эта ошибка...
|
|
![]() |
#4 |
Участник
|
PHP код:
Работает. |
|
![]() |
#5 |
Участник
|
Сколько угодно элементов можете вставить.
Пока оперативная память не закончиться ![]() |
|
![]() |
#6 |
Участник
|
Вам же написано - из компилятора. Не может он проглотить такую конструкцию. Почему - вопрос к его разработчикам
![]()
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#7 |
Участник
|
то что так как у Вас в примере работает я знаю. сам пробовал. но дело в том что есть такой класс RAssetSumCalc. там есть макрос в котором перечислены все переменные, которые необходимо запаковать на сервере и переправить на клиента в случае применения этого класса на тонком клиенте. так вот я добавил в этом классе пару переменных, которые есессно тоже надо передавать. число переменных в результате стало 52. класс перестал компилироваться. максимум который выдерживает компилятор - 47 переменных.
|
|
![]() |
#8 |
Участник
|
Хм..
Не пооленился сделал такой же джоб как у Вас ![]() PHP код:
![]() |
|
![]() |
#9 |
Участник
|
Угу, не пишите длинных строчек в редакторе кода ... помещайте все на экране.
И все будет хорошо. С уважением, itfs. |
|
![]() |
#10 |
Участник
|
itfs
к сожалению не будет всё хорошо. хоть в столбик по одной переменной пишите. |
|
![]() |
#11 |
Участник
|
Ээ..., это значит, что помещение возврата каретки посреди оператора, не обманывают встроенный лексический анализатор, который для анализа выражения вцелом вынужден повыкидывать оные ... т.о. возвращаемся к изначальному ограничению ....
только не подумайте, что мне это нравится. С уважением, itfs. |
|
![]() |
#12 |
Участник
|
судя по всему переполняется стек синтаксического анализатора, а переводы строк выбрасываются лексическим анализатором.
Лучше попробовать разбить контейнеры плюсами: PHP код:
|
|
|
За это сообщение автора поблагодарили: Eldar9x (1). |
![]() |
#13 |
Участник
|
Получается, что анализатор имеет ограничение на длинну одной "лексеммы", т.е. анализируемой единовременно конструкции кода. Никто не пытался подсчитать (или прочитать) величину ограничения?
С уважением, itfs. |
|
![]() |
#14 |
Участник
|
скорее на глубину всего дерева разбора
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|