Diskusní skupina: Programování


Honza SkýpalaKopírování RTF pole
IT

10.03.2010
10:39:37

ID: 3134.0

Zdravím, mám následující problém: vytvářím nový dokument, ve kterém chci do RTF pole ze šablony (uživatel má 4 šablony na výběr) nakopírovat nějaký výchozí obsah. Udělal jsem to takto:

Set d = db.CreateDocument
Set p = db.GetProfileDocument("Templates")
Set templateBody = p.GetFirstItem("TemplateBody_1")
Set body = d.CreateRichTextItem("Body")
body.AppendRTItem templateBody
ws.EditDocument True, d

Když to v debuggeru odkrokuju, tak vše proběhne, jak má, v body je zkopírován obsah ze šablony. Když to spustím bez ladění, tak zůstane políčko body prázdné, nic se ze šablony nezkopíruje. Konkrétně problém je v tom řádku s AppendRTItem, pokud si na něj dám breakpoint a pak na něm zmáčknu F8, vše je jak má být, v body je nakopírovaný obsah ze šablony; pokud ale na tomto řádku v debuggeru zmáčknu F5, tak zůstane body prázdné.
Dělá mi to v Lotus Notes 6.5 i v 8.5, úplně stejně.

Jde to nějak vyřešit? Klidně i úplně jiný postup, jak z nějaké šablony překopírovat RTF pole do nového dokumentu.

Díky, Honza
Honza Skýpala Vyřešeno...
IT

10.03.2010
21:02:33

ID: 3134.1


Vyřešeno. Je to zjevná chyba v Lotusech, pokud se do dokumentu "jen" zapíše a následovně se předhodí GUI k editaci, jako by se nic nezapsalo. Pokud se ale zapíše, následně přečte (při debugování toto zařídil watch) a teprve poté zavolá editace, je vše OK. Funkční kód tedy vypadá takto:

Set d = db.CreateDocument
Set p = db.GetProfileDocument("Templates")
Set templateBody = p.GetFirstItem("TemplateBody_1")
Set body = d.CreateRichTextItem("Body")
body.AppendRTItem templateBody
dummy = body.Text
ws.EditDocument True, d

Přidejte názor
Autor:
Profese:
E-mail: i
URL:
Phone:
Předmět:
Obsah příspěvku (i):

Kolikátý je den v měsíci ? (číslovkou bez tečky)