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 Under Consideration
Workspace Domino Designer
Categories LotusScript
Created by Guest
Created on May 17, 2021

Allow multiple script libraries to %Include the same constants

If you have two script libraries that both include the same constants file:


'LibraryA

%Include "lsconst.lss"


'LibraryB

%Include "lsconst.lss"


and then you use both libraries in a design element


'FormC

Use "LibraryA"

Use "LibraryB"


this generates the error "Duplicate PUBLIC name" at compile time. But these are not two different declarations with the same name, they are literally the same declarations.


It should be possible for multiple script libraries to include the same constants files - this would make it much easier to build resuable independent script libraries.

  • Attach files
  • Guest
    Reply
    |
    Jun 25, 2021

    Currently, this is handled by its own library containing only one line with %Include. "Use" from multiple libraries can be applied to this library.

    An alternative solution would be to extend the %If %ElseIf %Else % End If directive with the ability to test for the existence of a public symbol, similar to #ifdef and #ifndef.

  • Guest
    Reply
    |
    Jun 21, 2021

    Why not just make a library called "includes" with the %Include? Then you can use this lib in all your libs without interference

  • Guest
    Reply
    |
    May 18, 2021

    The problem is that all values in the .lss files are declared PUBLIC. Regardless if you remove "Option public" from both LS libraries and only declare subs and functions as public that need to be accessed from outside the library, all variables in the .lss files are PUBLIC by DEFAULT.