#dominoforever | Product 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

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.

  • Guest
  • May 17 2021
  • Needs review
  • Attach files
  • Guest commented
    25 Jun 11:15am

    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 commented
    21 Jun 04:24pm

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

  • Guest commented
    18 May 05:34am

    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.