AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.10.2006, 16:40   #1  
Blog bot is offline
Blog bot
Участник
 
25,643 / 848 (80) +++++++
Регистрация: 28.10.2006
Dynamics AX Geek: Executing external x++ code
Источник: http://AxGeek.spaces.live.com/Blog/c...DB13!140.entry
==============
runbuf() executes x++ code passed to it. The code must be defined as a function and can return a value. Parameters passed to runbuf() will be forwarded, but default parameters won’t work. To show how it works, I am going to use this function to execute code read from an external file. Not very useful and you probably wouldn’t want to allow it, it’s just to show that it can be done (easily).
 
static void ExecuteCodeFromFile(Args _args)
{
    #File
    AsciiIo     asciiIo = new AsciiIo("c:\temp\findCustomer.xpp",#io_read);
    XppCompiler xppCompiler = new XppCompiler();
    Source      source;
    str         line;
    CustTable   custTable;
    ;
 
    if (asciiIo)
    {
        asciiIo.inFieldDelimiter(#delimiterEnter);
        [line] = asciiIo.read();
 
        while (asciiIo.status() == IO_Status::Ok)
        {
            source += #delimiterEnter;
            source += line;
            [line]  = asciiIo.read();
        }
 
        if (!xppCompiler.compile(source))
            error (xppCompiler.errorText());
 
        custTable = runbuf(source,'4000');
        print CustTable.Name;
    }
    else
        print "Could not open file";
 
    pause;
}
 
The external file c:\temp\findCustomer.xpp:
 
CustTable findCustomer(CustAccount _accountNum)
{
    return CustTable::find(_accountNum);
}
 
First the file c:\temp\findCustomer.xpp is read into source. Source is then compiled and if that goes okay it is executed. As you can see ‘4000’ is passed as a parameter simply by adding it to the runbuf() call. You can also see runbuf returns the function’s return value.
 
I had trouble getting code compiled that I had written using notepad. As it turns out, the compiler does not accept the tab character. So if you are going to try this out, watch out for that.




==============
Источник: http://AxGeek.spaces.live.com/Blog/c...DB13!140.entry
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: Microsoft's strategy and vision for Dynamics AX and SOA Blog bot DAX Blogs 0 05.03.2009 18:05
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Inside Dynamics AX 4.0: Working with the .NET Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15
Inside Dynamics AX 4.0: Usage Scenarios Blog bot DAX Blogs 0 04.10.2007 05:15
Inside Dynamics AX 4.0: Inside the Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:01.