AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 30.09.2005, 13:10   #1  
doo is offline
doo
Участник
 
41 / 10 (1) +
Join Date: 05.11.2004
? Ограничено ли количество элементов в контейнере?
есть 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]
}

то при компиляции возникает ошибка:
"Переполнение во внутреннем стеке компилятора."
кто-нить знает как с этим бороться и причины этого?
Old 30.09.2005, 13:49   #2  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
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

Это из руководства разработчика.
Количество элементов в контейнере неограничено.
Old 30.09.2005, 13:53   #3  
doo is offline
doo
Участник
 
41 / 10 (1) +
Join Date: 05.11.2004
но как показывает практика )) я конечно сделаю так чтоб нужный контейнер формировался динамически из нескольких более мелких. но всё же интересно откуда лезет эта ошибка...
Old 30.09.2005, 13:57   #4  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
PHP Code:
static void Job8(Args _args)
{
    
container c;
    
int       i;
    
boolean   exitLoop true;

;
    while(
exitLoop)
    {
        if(
i==10000)
         
exitLoop false;

        
conins(c,i,i);
        
i++;
   }

вставляю в контейнер 10000 елементов.
Работает.
Old 30.09.2005, 13:59   #5  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
Сколько угодно элементов можете вставить.
Пока оперативная память не закончиться
Old 30.09.2005, 14:00   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Join Date: 20.08.2005
Вам же написано - из компилятора. Не может он проглотить такую конструкцию. Почему - вопрос к его разработчикам
__________________
Axapta v.3.0 sp5 kr2
Old 30.09.2005, 14:02   #7  
doo is offline
doo
Участник
 
41 / 10 (1) +
Join Date: 05.11.2004
то что так как у Вас в примере работает я знаю. сам пробовал. но дело в том что есть такой класс RAssetSumCalc. там есть макрос в котором перечислены все переменные, которые необходимо запаковать на сервере и переправить на клиента в случае применения этого класса на тонком клиенте. так вот я добавил в этом классе пару переменных, которые есессно тоже надо передавать. число переменных в результате стало 52. класс перестал компилироваться. максимум который выдерживает компилятор - 47 переменных.
Old 30.09.2005, 14:05   #8  
Zan is offline
Zan
Участник
 
104 / 25 (1) +++
Join Date: 22.07.2004
Location: I live in Moscow
Хм..
Не пооленился сделал такой же джоб как у Вас
PHP Code:
static void Job9(Args _args)
{
  
container c;
  
int       i;
;
   
= [1,2,3,4,5,6,7,8,9,10,11,12,13,14,
       
15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,
       
31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47];


Действительно переполнение
Old 30.09.2005, 14:06   #9  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Join Date: 18.07.2005
Location: Moscow
Угу, не пишите длинных строчек в редакторе кода ... помещайте все на экране.
И все будет хорошо.

С уважением, itfs.
Old 30.09.2005, 14:14   #10  
doo is offline
doo
Участник
 
41 / 10 (1) +
Join Date: 05.11.2004
itfs

к сожалению не будет всё хорошо. хоть в столбик по одной переменной пишите.
Old 30.09.2005, 14:18   #11  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Join Date: 18.07.2005
Location: Moscow
Ээ..., это значит, что помещение возврата каретки посреди оператора, не обманывают встроенный лексический анализатор, который для анализа выражения вцелом вынужден повыкидывать оные ... т.о. возвращаемся к изначальному ограничению ....
только не подумайте, что мне это нравится.

С уважением, itfs.
Old 30.09.2005, 14:49   #12  
belugin is offline
belugin
Участник
belugin's Avatar
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Join Date: 16.01.2004
Blog Entries: 5
судя по всему переполняется стек синтаксического анализатора, а переводы строк выбрасываются лексическим анализатором.

Лучше попробовать разбить контейнеры плюсами:
PHP Code:
static void Job9(Args _args)

{

  
container c;

  
int       i;
;

   
= [1,2,3,4,5,6,7,8,9,10,11,12,13,14,

       
15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]+[31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48];    

This post has been rated by: Eldar9x (1).
Old 30.09.2005, 15:12   #13  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Join Date: 18.07.2005
Location: Moscow
Получается, что анализатор имеет ограничение на длинну одной "лексеммы", т.е. анализируемой единовременно конструкции кода. Никто не пытался подсчитать (или прочитать) величину ограничения?

С уважением, itfs.
Old 30.09.2005, 15:57   #14  
belugin is offline
belugin
Участник
belugin's Avatar
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Join Date: 16.01.2004
Blog Entries: 5
скорее на глубину всего дерева разбора
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Странное количество в строке журнала инвентаризации pitersky DAX: Функционал 7 16.01.2009 16:46
как отдельно учитывать фактическое и финансовое количество? romulis DAX: Функционал 4 08.02.2007 15:01
Количество знаков после запятой для количества в Закупке. dimit DAX: Функционал 18 20.11.2006 17:23
Количество вакансий в штатном расписании. NJD DAX: Функционал 3 20.09.2006 15:48
Закупка. Количество введенное в таблицу PurchLine не отображается в накладной ATimTim DAX: Программирование 15 21.06.2004 10:11

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 18:17.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.