gpt4 book ai didi

axapta - Dynamics AX 中 runbuf 函数的更详细错误

转载 作者:行者123 更新时间:2023-12-01 14:36:07 25 4
gpt4 key购买 nike

我尝试构建某种 X++ 脚本执行器,因此尝试使用 runbuf 函数。只要我传入的 X++ 代码有效,它就可以工作,但是当我传递无效代码时,它只会抛出一个错误,表明它无法编译代码,但没有进一步的细节。例如当我尝试下面的代码时

runbuf('void dynAdd(int lhs, int rhs) { return lhs + rhs; }');

它因错误而失败

Unable to compile "void dynAdd(int lhs, int rhs) { return lhs + rhs; }".

有没有办法获得有关错误的更多信息?

提前致谢

最佳答案

您可以使用 XppCompiler就这样

static void DynamicXppTest(Args _args)
{
str dynamicXpp;
int result;
XppCompiler xppCompiler;
;

dynamicXpp = 'void dynAdd(int lhs, int rhs) { return lhs + rhs; }';

// previous runbuf - style
//
// result = runbuf(dynamicXpp, 3, 4);
// info(strfmt("result = %1", result));

xppCompiler = new XppCompiler();
if (xppCompiler.compile(dynamicXpp))
{
result = xppCompiler.execute(3, 4);
info(strfmt("result = %1", result));
}
else
{
error(xppCompiler.errorText());
}
}

这将导致信息日志中出现以下错误

*** Error: 82, The operand is not compatible with the type of the function.

关于axapta - Dynamics AX 中 runbuf 函数的更详细错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38420945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com