本文介绍了是否在NotesViewNavigator中回收和GetNextDocument/GetNextCategory?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在NotesViewNavigator中回收GetNextDocument或GetNextCategory?这两个参数都不带参数,因此您不能像在视图中那样使用TEMP变量的传统方法来预取下一个文档。

我想解决方案是将getNext与argmenumnt一起使用,但是否仍能使用GetNextDocument/GetNextCategory?

我收到的错误在第20行。没有回收,代码运行得很好。据我所知,回收会销毁对象,因此我可以理解错误的原因。我的问题是,有没有其他办法绕过这件事?

调用方法NotesViewNavigator.getNextDocument()时出现[TypeError]异常NULL出现在第20行

 1: var viewName = "vwParticipantsProjectIDEquipmentIDUsername";
 2:
 3:
 4: var v:NotesView = database.getView(viewName);
 5: var nav:NotesViewNavigator = v.createViewNavFromCategory(sessionScope.get("ExportProjectID"));
 6:
 7:
 8: var viewEnt:NotesViewEntry = nav.getFirstDocument();
 9:
 10: while (viewEnt != null)
 11: {
 12:
 13:    if (viewEnt.isDocument())
 14:    {
 15:
 16:        var doc:NotesDocument = viewEnt.getDocument();
 17:    }
 18:
 19:    viewEnt.recycle();
 20:    viewEnt = nav.getNextDocument();
 21: }

推荐答案

这是我倾向于使用的模式:

var documentEntry = nav.getFirstDocument();
while( documentEntry != null ){
  var nextDocumentEntry = nav.getNextDocument();
  // do stuff
  documentEntry.recycle();
  documentEntry = nextDocumentEntry;
}

这篇关于是否在NotesViewNavigator中回收和GetNextDocument/GetNextCategory?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-26 23:02