Das Notes Forum

HCL Notes / Domino / Diverses => Entwicklung => Thema gestartet von: Ottmar am 08.06.21 - 18:02:51



Titel: Script-Code läuft nur im Debug-Modus
Beitrag von: Ottmar am 08.06.21 - 18:02:51
Hallo Liebes Forum,

ich habe ein Problemchen, was so ein bisschen Mittelding zwischen Notes und OpenOffice oder Administration und Entwicklung ist, habe es jetzt mal hier eingestellt.

Das Problem: Ich habe eine ODBC-Schnittstelle zu OpenOffice. Ein Dokument soll in OpenOffice geöffnet werden. Dort sind Platzhalter enthalten, die durch Werte aus Notesdokumenten ersetzt werden sollen. Es gibt im Notes auch Mehrfachwertfelder und sind diese (mehrfach) befüllt, so müssen im OpenOffice (Writer) Dokument neue Tabellenzeilen angelegt werden. So weit so gut.
Mein Programmcode dazu funktioniert auch wunderbar, aber nur so lange der Debugger eingeschaltet ist und ich die Zeilen einzeln durch debugge.
Wenn ich den Scriptcode komplett durchlaufen lasse, verschluckt er sich an einer der folgenden Zeilen:

Code:
For i = 1 To Count
Call UNODispatcher.executeDispatch(UNODocument, ".uno:InsertRows", "", 0, UNOEmpty)
Call UNODispatcher.executeDispatch(UNODocument, ".uno:Refresh", "", 0, UNOEmpty)
Call UNODispatcher.executeDispatch(UNODocument, ".uno:EntireRow", "", 0, UNOEmpty)
Call UNODispatcher.executeDispatch(UNODocument, ".uno:Copy", "", 0, UNOEmpty)
Call UNODispatcher.executeDispatch(UNODocument, ".uno:Refresh", "", 0, UNOEmpty)
Call UNODispatcher.executeDispatch(UNODocument, ".uno:GoDown", "", 0, UNOArgs2)
Call UNODispatcher.executeDispatch(UNODocument, ".uno:EntireRow", "", 0, UNOEmpty)
Call UNODispatcher.executeDispatch(UNODocument, ".uno:Paste", "", 0, UNOEmpty)
Next

Ich habe am Code schon so einiges probiert.... noch mehr (eigentlich völlig überflüssige) Refresh-Befehle eingebaut, zwischen den Zeilen 'Sleep' Befehle gesetzt, aber egal, was ich gemacht habe, immer das gleiche Resultat.
Debuger an und zeilenweise durchdebuggt -> läuft
Debugger aus oder nicht zeilenweise durchdebuggt -> Er verschluckt sich, bevorzugt an 'InsertRows' oder 'EntireRow'

Das Problem tritt an verschiedenen Clients auf (auf mehreren Windows-Rechnern, unter mehrere Notesversionen zwischen Release 9 und 11 getestet, ebenso mit verschiedenen OpenOffice- und LibreOffice-Versionen probiert, überall das gleiche Bild.

Falls jemand Ideen hat... ich bin für jeden Tipp sehr dankbar.

 


Titel: Re: Script-Code läuft nur im Debug-Modus
Beitrag von: jBubbleBoy am 09.06.21 - 19:20:49
Wie oft "verschluckt" er sich denn?
Bzw. schon mal daran gedacht das Ergebnis zu prüfen (neue Zeile einfügen +Inhalt) und solange zu wiederholen bis es klappt?


Titel: Re: Script-Code läuft nur im Debug-Modus
Beitrag von: eknori am 09.06.21 - 21:16:54
Hat es denn scon einmal funktioniert?
Was hat sich seitdem geändert?

Kann man den Fehler isolieren? Heißt, kann man den Fehler mit ein paar Zeilen Code reproduzieren, ohne dass der Code im Kontext der Applikation läuft?