: 4557 | 108237 | 12276

circular use of script libs 
Use this IdeaSpace to post ideas about Domino Designer.

: 25
: 27
: 2
: Domino Designer
: oop, script_library
: Jan Schulz4393 23 Mar 2008
:
: / Email
Why does code like this (Visitor Pattern):
 
class User
    sub invite(b as Visitor)
          b.visitUser(me)
    end sub
    sub doSomething()
    end sub
end class
 
class Visitor
    sub visitUser(a as User)
       a.doSomething()
    end sub
end class
 
work in one class lib, but not when seperated into two libs ("Illegal Circular use")?
 
This makes some OOP concepts (in this case Visitors, which call the User back) impossible when seperating code into different libs or you get huge script libs (ls.doc only work with so long libs and it also means you touch all code when you just want to change one bit).
 
Please make this error go away!



1) Bill McNaughton40 (24 Mar 2008)
Agree, problem's been there since R5 and does impose unnecessary constraints when trying to build modular script library designs.
2) Rob Goudvis6575 (25 Mar 2008)
Yes, please: can't wait until this implementation!
3) Willy L53 (08 Sep 2008)
First, your code doesn't compile. It has two errors.

Second, you can use two libraries just fine.

UserLib
Class User
Sub invite(b As Variant)
b.visitUser Me
End Sub
Sub doSomething()
End Sub
End Class


VisitorLib
Class Visitor
Sub visitUser(a As Variant)
Call a.doSomething()
End Sub
End Class


Agent Visitor Test
Options
Use "UserLib"
Use "VistorLib"

Sub Initialize
Dim User As New User
Dim Visitor As New Visitor

Call Visitor.VisitUser( User )
End sub
4) Jan Schulz4393 (18 Nov 2008)
@3: this is using variants, so is not compile save :-(










:
:

Welcome to IdeaJam™


You can run IdeaJam™ in your company. It's easy to install, setup and customize. Your employees, partners and customers will immediately see results.

Use IdeaJam to:

  • Collect ideas from employees
  • Solicit feedback and suggestions from employees and customers
  • Run innovation contests and competitions
  • Validate concepts
  • Use the power of "crowd-sourcing" to rank ideas and allow the best ideas to rise to the top

IdeaJam™ works with:

  • IBM Connections
  • IBM Lotus Quickr
  • Blogs and Wikis
  • Websphere Portal
  • Microsoft Sharepoint
  • and other applications.

IdeaJam has an extensive set of widgets and API's that allow you to extend and integrate IdeaJam™ with other applications.

Learn more about IdeaJam >>


6
Enable moving Notes workspace page
24
Getdocumentbykey should work using programmable sorted columns
21
Make task functionality with // TODO comments in Java available for LotusScript etc
10
Desktop Policy Settings Doc needs settings for full text index on local mail replicas
20
Add HTTP2 support to Domino
13
Publish a roadmap!
10
Provide a script to benchmark Notes Traveler servers
2
Client Version data is no longer collected after migrating to SmartCloud
3
Javascript editor that flags common errors between serverside & clientside
2
Need ability to import .ics files when using a browser in SmartCloud Notes
5
Add 'Group by Date' view option to iNotes as it is in Notes client
3
Need to be able to see which users do not have their ID file uploaded to the ID Vault in SmartCloud
2
Allow HideWhen on multiply selected outline entries
-1
make it easier to get from view or form to its related XPage
4
SmartCloud user accounts page: Change Jump to Page to Jump to User
25
Option ExtendedSyntax False (or NotesDocumentExtended False)
6
Better Administration Tools for IBM Connection
11
Add functionality in IdeaJam to Automatically create an SPR for the enhancement request with IBM
2
Extend existing webservices of IdeaJam
11
Give Administrators better control over Deletions
4
All-Day reservation in the ressource database
36
allow lists and arrays as return types from functions
20
Enable 'CAPTCHA' for a web form with the click of a button
6
Weekly/Monthly email of new Ideas and Comments from IdeaJam
25
circular use of script libs






IdeaJam developed by

Elguji Software Logo