DISKUSE
Výběr lidí z AK tiskne jen 3 (2)
22.05.2020 07:41

Sametime 8.0.2 
20.05.2020 15:22

Traveler se nepřipojí (1)
12.05.2020 07:24

Access to data denied (4)
20.04.2020 15:49

IBM zastavilo provoz knowledge center 
27.03.2020 12:55

Zjištění frontendu/backendu agenta v LotusScriptu (1)
17.03.2020 20:51

export ACL do csv (1)
20.02.2020 09:54

Export textu do hlavičky MS Word dokumentu pomocí ... (1)
10.02.2020 09:14


ŠKOLENÍ


REKLAMA


KOMENTÁŘE

Jak na generování HTML kódu ve WebQueryOpen eventu ?

Vytisknout článek

Trápila mě pomalost, s jakou se zobrazovaly webovské stránky, jejichž větší část byla generovaná LotusScriptem ve WebQueryOpen eventu a výsledek generace ukládán do Computed for display pole typu Text.


Ne, nebylo to tím, že se vyhledávalo - prostě se jen spočetly údaje a vygeneroval se výsledek o délce nějakých 30 kB.

Vylučovací metodou padlo podezření postupně až na vlastní přiřazení:

HTMLKod$ = "tohle se vygenerovalo"
Set doc=session.DocumentContext
doc.kod = HTMLKod$

A v posledním řádku byl právě ten problém - jeho vykonání probíhá PŘÍŠERNĚ pomalu. Nevím čím je to způsobeno (server Domino 5.0.6a na Linuxu RedHat 6.1), ale stejný výsledek jsem dostal i na jiných serverech.

Řešení bylo jednoduché: typ pole se změnil na RichText a kód pak vypadal následovně:

Dim richStyle As NotesRichTextStyle
HTMLKod$ = "tohle se vygenerovalo"
Set doc=session.DocumentContext
Set richStyle = session.CreateRichTextStyle
Dim richText As New NotesRichTextItem(doc, "kod")
richStyle.PassThruHTML = True
Call richText.AppendStyle(richStyle)
Call richText.AppendText(HTMLKod$)
richStyle.PassThruHTML = False
Call richText.AppendStyle(richStyle)

Poslední dva řádky vám možná přijdou zbytečné, ale bez nich se občas obsah pole "kod" zobrazí ne jako PassThruHTML, ale "normálně" - netuším proč tomu tak je, ale ty dva řádky jsou prostě jistotou.

A výsledek ? U cca 30kB kódu zhruba třetinová až pětinová doba přiřazení.


Autor: Zdeněk Michálek
Datum: 28.03.2001


Sdílet článek Seznam komentářů

Zatím nebyl přidán žádný komentář. Buďte první!