11

在 Dynamics AX 2009 中,我试图确定信息消息的缩进级别。我想要的是类似于这样的东西:

Prefix
    Info1
    Info2
Prefix2
    Info3

我找到了这个:

http://www.doens.be/2010/05/the-ax-infolog/

但不想使用循环,所以我认为这样的事情可能会起作用:

setprefix("Prefix");    

{
    info("Info1");
    info("Info2");
}

setprefix("Prefix2");

{
    info("Info3");
}

但事实并非如此。有没有办法在 x++ 中做到这一点,关于当前活动的缩进级别的规则是什么?

4

1 回答 1

17

setPrefix在 AX 中设置(添加)当前执行范围的前缀,并且在离开范围时,前缀会自动重置为上一级。您可以使用getPrefix来检查当前的执行前缀。

2 hacks 可以帮助您获得预期的结果:

#1

static void TestJob(Args _args)
{
    void sub1()
    {
        setprefix("Prefix");
        info("Info1");
        info("Info2");
    }

    void sub2()
    {
        setprefix("Prefix2");
        info("Info3");
    }
    ;

    setPrefix("Main");
    sub1();
    sub2();
}

#2

static void TestJob(Args _args)
{
    setPrefix("Main");
    info("Prefix\tInfo1");
    info("Prefix\tInfo2");
    info("Prefix2\tInfo3");
}
于 2011-07-12T15:41:06.980 回答