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
Tor - importera and helgdagar (R:1)
Tor - databaser (R:59)
Tor - meta (R:3)
Tor - kizz and låtar (R:0)
Tor - Notes and error: and Someone and else and deleted and this and index and while and you and were and updating and it (R:0)
Tor - mail.sll.se (R:0)
Tor - dir (R:3)
Tor - björn and ajax (R:0)
Tor - personlig and bild and mail (R:1)
Tor - lotto (R:4)
Tor - RSS and Domino (R:18)
Tor - blacklist (R:1)
Tor - post and blank (R:0)
Tor - create (R:15)
Tor - Ärendehantering (R:1)
Tor - internet and certifikat (R:1)




Databasstatistik Blogg
Uppdateras var 15:e Minut

Antal Poster:506
Antal Kommentarer: 880
Alla sidvisningar idag:
Unika Besökare idag:
Databasstorlek: 1876,25Mb
Fixup: 2010-06-23 09:06:13
FT:2010-07-29 17:03:39
DB Procent använd: 61,5
Antal Agenter: 42
Antal Formulär: 65
Antal Vyer: 57
Antal Dokument: 3134
Antal Image Resources: 105
Antal Subformulär: 18
Antal Scriptbibliotek: 11
Totalt Antal Designelement: 490
Antal Attachments: 153
Antal Konflikter: 2
Server version 1: 368
Server version 2: Release 8.5.1FP1|January 05, 2010
Server Plattform: Windows/32
Ändrad: 2010-07-29 17:29:28
Server Tidszon: Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZX=95$ZN=W. Europe
Region: sv
Kommentarsspam Idag: 0
Kommentarsspam Totalt: 3253


BlogRankers.com

Top Sites at iWEBTOOL.com

Fight Spam! Click Here!

Bloggtoppen.se

Listed on BlogShares

Increase website traffic

Top Internet Blogs

Site Checker