Skip to Main Content
HCL Domino Ideas Portal

Welcome to the #dominoforever Product Ideas Forum! The place where you can submit product ideas and enhancement request. We encourage you to participate by voting on, commenting on, and creating new ideas. All new ideas will be evaluated by HCL Product Management & Engineering teams, and the next steps will be communicated. While not all submitted ideas will be executed upon, community feedback will play a key role in influencing which ideas are and when they will be implemented.

For more information and upcoming events around #dominoforever, please visit our Destination Domino Page

Status Needs Clarification
Workspace Domino Designer
Categories LotusScript
Created by Guest
Created on Dec 26, 2022

Increase the recursive calls stack size limit on 64-bit systems

The current limit of recursive calls (recursion level for a given LotussScript function) in 32-bit/64-bit system is 32Kbyte stack size:


https://help.hcltechsw.com/dom_designer/12.0.2/basic/LSAZ_LIMITS_ON_COMPILER_AND_COMPILED_PROGRAM_STRUCTURE.html#:~:text=a%20given%20function)-,32Kbyte%20stack%20size,-Storage%20size%20of


Need to expand this current stack size limit in 64-bit systems, because indeed, 64-bit system can handle more data than the 32-bit system.

  • Attach files
      Drop here to upload
    • Guest
      Reply
      |
      Mar 30, 2023

      Hello Thomas,

      Please see the sample code below:


      Option Public

      Option Declare

      Sub Initialize

      Dim session As New NotesSession

      Dim db As NotesDatabase

      On Error GoTo catch

      try:

      Set db = session.CurrentDatabase

      Dim doc As NotesDocument

      Set doc = db.Createdocument()

      Call CheckStackSpace(doc, 1)

      catch:

      MsgBox "Error in check stack space: " & Error

      Exit Sub

      End Sub

      Sub CheckStackSpace(doc As NotesDocument, counter As Integer)

      Dim strCounter As String

      On Error GoTo catch

      try:

      strCounter = "Count: " & counter

      Print strCounter

      Call CheckStackSpace(doc, counter + 1)

      Exit Sub

      catch:

      Dim session As New NotesSession

      'Get full version

      Dim platform, notesVersion, fullVersion As String

      notesVersion = Split(session.NotesVersion, "|")

      platform = Split(session.Platform, "/")

      fullVersion = notesVersion(0) + " " + platform(1) + "bit"

      Call doc.ReplaceItemValue("NotesVersion", fullVersion)

      Call doc.ReplaceItemValue("RecursiveCallsCount", CStr(counter))

      Call doc.ReplaceItemValue("Error", "Error: " + Error)

      Call doc.Save(True, True)

      Exit Sub

      End Sub



      Please see attached file for the result. Thank you.


    • Admin
      Thomas Hampel
      Reply
      |
      Mar 24, 2023

      Can you please provide an example (e.g. LotusScript code) showing how you are running into this limit?