马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
下面代码我想创建一个嵌套的LIST给LISP但是返回了eInvalidResBuf错误码,错在哪里?
[LispFunction("GetNestedList")]
public static ResultBuffer GetNestedList(ResultBuffer resBufIn)
{
// main result buffer
ResultBuffer resBufOut = new ResultBuffer();
// 5005 = RTSTR
resBufOut.Add(new TypedValue(5005, "Main List Item 1"));
// nested result buffer
ResultBuffer resBufNested = new ResultBuffer();
resBufNested.Add(new TypedValue(5005, "Nested List Item 1"));
resBufNested.Add(new TypedValue(5005, "Nested List Item 2"));
// 5023 = RTRESBUF
resBufOut.Add(new TypedValue(5023, resBufNested));
resBufOut.Add(new TypedValue(5005, "Main List Item 2"));
return resBufOut;
}
解决方案:
你去 LispDataType enum 里面查看下ResultBuffer的类型和值的相关代码,你会看到RTRESBUF/5023不在里面,你的代码LispDataType嵌套的部分用LispDataType.ListBegin/LispDataType.ListEnd部分替换。
[sell=5]
- [LispFunction("GetNestedList")]
- public static ResultBuffer GetNestedList(ResultBuffer resBufIn)
- {
- ResultBuffer resBufOut = new ResultBuffer();
-
- resBufOut.Add(new TypedValue((int)LispDataType.Text, "Main List Item 1"));
-
- resBufOut.Add(new TypedValue((int)LispDataType.ListBegin));
- resBufOut.Add(new TypedValue((int)LispDataType.Text, "Nested List Item 1"));
- resBufOut.Add(new TypedValue((int)LispDataType.Text, "Nested List Item 2"));
- resBufOut.Add(new TypedValue((int)LispDataType.ListEnd));
-
- resBufOut.Add(new TypedValue((int)LispDataType.Text, "Main List Item 2"));
-
- return resBufOut;
- }
[/sell]
|