: 3492 | 87812 | 9797

circular use of script libs 
Now Available: "The Social Software Platform You Already Own" Position Paper from Elguji Software. A must read for every IBM Lotus Software customer.
Use this IdeaSpace to post ideas about Domino Designer.

: 23
: 25
: 2
: Domino Designer
: oop, script_library
: Jan Schulz 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 McNaughton (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 Goudvis (25 Mar 2008)
Yes, please: can't wait until this implementation!
3) Willy L (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 Schulz (18 Nov 2008)
@3: this is using variants, so is not compile save :-(










:
:

Buy IdeaJam Today!


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

Phone: +1 (360) 450-5022

Email: sales@elguji.com

Learn more >>

Welcome to IdeaJam


IdeaJam is a place where people can post and share their ideas, and gauge the marketability, popularity and viability with input from others.

When an idea gets posted, others can help promote or demote the idea and provide comments. Popular ideas will bubble to the top.

Make your opinion count.

Share


Post your idea - from ways we can improve IBM Lotus Software to things we've haven't even yet thought of.

Vote


Check out other people's ideas and vote on the ones you like best. The community votes. The community decides.


Discuss


Talk about ideas with your peers in the IBM Lotus Community and help make them even better.



4
ideajam ideas - Lotusphere
-5
Make Ideajam database as default application on domino
18
All Design Elements view in Designer
0
Create an AppStore for $1.99 apps
13
Symphony API integration in Agents
5
In the view-quick-search dialog, there should an "advanced search" option to find a document in the current view based on the NoteID or UNID
8
Standardize Definition of Application
12
Cleanup process for mystery problems
3
DDM could benefit from addng Twitter or SMS to Notifications
15
license model for universities and schools (education)
4
Dogear: Plugin for many browsers to store bookmark in dogear
8
Give Domino an up-to-date Servlet Engine
13
Admin Client - Server Console
9
Notes Calendar - Show Calendars
12
I wish FilePath would consistently return a relative path whenever possible
26
Select Category option in Views to tick all documents within a category and sub-categories
11
Calendar overlay: documentation how to overlay application calendar
6
inbox: newest first
7
Lotus Script: record call history for for informative debugging
8
Feed Readers page for Domino
17
Get Rid of "Copy as Table" in instances where it doesn't work
16
Expose the SPR database to customers so others can easily get added to the request
10
Multi value core control







IdeaJam developed by




Hosting by