NOTESSIDAN

Allt om Lotus Notes & Domino




Styr alla händelser till scriptbiblioteken
Jag tänkte dela med mig av en lotusscriptteknik som jag lärde mig för några år sedan i samband med att jag arbetade med en produkt från ett företag som heter ITFactory. Tekniken går ut på att man styr bort händelser från formulären och vyerna till scriptbiblioteken istället. på detta sätt behöver man inte gå in i formulär och vyer varje gång man ska ändra tex. i QuerySave, Alla händelser styr man från samma scriptbibliotek oavsett hur många formulär och vyer man har.

Image

Denna artikel beskriver hur man styr om alla formulär, vill man styra om vyer kan man göra det på liknande sätt, vyer har också händelser.


Så här gör man

1. Skapa ett scripbibliotek
2. Ställ dig i initialize händelsen och importera (Arkiv-> Importera) och välj filen FormEvents.lss som du kan ladda ned här nedan.
3. Döp Scriptbiblioteket till "FormEvents" och spara.

Vad du har gjort nu är att skapat händelserna och lagt dom i ett scriptbilbliotek. Om vi nu vill att alla formulärs händelser ska styras till scriptbiblioteket så måste vi gå in i varje formulär och lägga till följande kodrader

Händelse : Options :

Use "FormEvents"

Händelse : QueryOpen :

Call FormEvents(Source,Mode,IsNewDoc,Continue)

Ok, nu har vi styrt om alla händelser till scriptbiblioteken så nu behöver vi inte längre bry oss om händelserna i själva formulären utan kan gå direkt till scriptbiblioteket varje gång vi vill skriva kod för en visst formulärhändelse. men vi har glömt en sak, oftast så vill man kanske ha olika kod för olika formulär, detta löser vi genom att i varje händelse i scriptbiblioteket göra en case sats som kollar på vad formulärnamnet heter. (eftersom formulär kan ha alias så kan det vara bra att ha ett fält i varje formulär som man kollar på)

Sub FormQuerySave(Source As Notesuidocument, Continue As Variant)
 Dim doc As notesdocument
 Set doc = source.document
 Select Case doc.Form(0)
   Case "MyForm1"

   ' Skriv kod för QuerySave händelsen och formulärnamnet "MyForm1" här...

   Case "MyForm2"

   ' Skriv kod för QuerySave händelsen och formulärnamnet "MyForm2" här...

 End Select
End Sub


Nu är vi klara , om du har komplexa databaser med många formulär så kommer scripten i händelserna antagligen bli väldigt långa, men det kan man ju alltid dela upp med "subs" eller "funktioner".

Du kan ladda ner scriptbiblioteket som en lss fil Här eller ladda ner en testdatabas här







Relevanta Poster på Notessidan:



Fler Poster om: Lotus, Domino, Lotusscript

Fler bloggar om: , ,

Technorati: , ,

Delicious: Lotus, Domino, Lotusscript
Publicerad 2006-02-01 | Kommentarer: 0 | Läsningar: 3727
Kommentarer

No documents found



Sök på Notessidan
Thomas Adrian
ThomasCertifierad utvecklare och administratör inom Notes & Domino

Kontakta mig







Senaste Sökningarna på Notessidan
Sön - sharepoint (R:1)
Sön - räkna and antal and besökare (R:0)
Sön - browser (R:17)
Sön - stoppar and mail (R:1)
Sön - korrupt (R:3)
Sön - böcker (R:0)
Sön - kalendern (R:12)
Sön - feature (R:15)
Sön - print and mime (R:2)
Sön - länka (R:0)
Sön - databasen (R:94)
Sön - access (R:47)
Sön - outlook (R:15)
Sön - webanvändare (R:0)
Sön - google and maps (R:6)
Sön - juffe (R:2)
Sön - uidoc.print (R:1)
Sön - java and lotusscript (R:26)
Sön - besök (R:0)




Databasstatistik Blogg
Uppdateras var 15:e Minut

Antal Poster:562
Antal Kommentarer: 1025
Alla sidvisningar idag:
Unika Besökare idag:
Databasstorlek: 123,5Mb
Fixup: 2017-05-29 00:30:52
FT:2017-05-25 10:50:56
DB Procent använd: 97,7
Antal Agenter: 42
Antal Formulär: 65
Antal Vyer: 60
Antal Dokument: 6943
Antal Image Resources: 108
Antal Subformulär: 18
Antal Scriptbibliotek: 11
Totalt Antal Designelement: 573
Antal Attachments: 159
Antal Konflikter: 0
Server version 1: 405
Server version 2: Release 9.0.1FP8|February 23, 2017
Server Plattform: Windows/64
Ändrad: 2017-05-29 15:06:40
Server Tidszon: Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZX=97$ZN=W. Europe
Region:
Kommentarsspam Idag: 0
Kommentarsspam Totalt: 8629


BlogRankers.com

Top Sites at iWEBTOOL.com

Fight Spam! Click Here!

Bloggtoppen.se

Listed on BlogShares

Increase website traffic

Top Internet Blogs

Site Checker