用java代理改写LS中的Evaluate函数的问题
本人在帮助中查看到LS的Evaluate函数对应的java函数是evaluate,但是evaluate中不支持@Command, @DbManager, @DbName, @DbTitle, @DDEExecute, @DDEInitiate, @DDEPoke, @DDETerminate, @DialogBox, @PickList, @PostedCommand, @Prompt, and @ViewTitle.函数。现在LS语句如下:Evaluate( |@Name([CN];@DBLookup( "":"NoCache"; @Subset( @DBname; 1 ):"names.nsf"; "($VIMGroups)"; @Explode("| + Implode( g, "$" ) + |"; "$" ); "Members"; [FAILSILENT] ))| )
而我写的为:
session.evaluate("@Name([CN];@DBLookup( \"\":\"NoCache\"; @Subset( @DBname; 1 ):\"names.nsf\"; \"($VIMGroups)\"; @Explode(\"| + Implode( g, \"$\" ) + |\"; \"$\" ); \"Members\"; [FAILSILENT] ))");
报被捕获的错误。
不知道如何用java的evaluate改写,请前辈帮忙解答,谢谢!
同时,想请有经验的前辈传授下lotus中的java开发应该注意哪些,再次感谢! --------------------编程问答-------------------- 还真没在JAVA代理里面写过公式的调用,至于支持不支持,我还真不知道。
不过给你个建议,如果在查阅大量资料无法做到如上公式效果时,可以考虑修改一下思路,其实你这段代码很简单,用一个小函数就可以实现。
ps一下,公式返回的值是有64K限制的,因此不是所有的东西都可以用公式来再LS里面实现 --------------------编程问答-------------------- java 、ls引用公式一样 --------------------编程问答-------------------- 不存在ls行,javs不行,除非引号没有用好
补充:企业软件 , Lotus