Imho bist du an irgendeinem Punkt gedanklich blockiert.
Das ist nur menschlich.
Also.
Der Computer signalisiert auf diesen Code-Abschnitt:
GetAllWatchValues = GetAllWatchValues & Format$(ReportRowArray(intCount).lngRunTime / EventList("Total run time").lngPreviousRunTime, "000.0%") & " "
eine division by zero exception.
Dies ist so, weil die Designer von LotusScript ein Teilen durch 0 verboten haben. Ich bin leider nicht so der große Mathematiker. Aber in der Schulmathematik war es nicht anders.
Das bedeutet:
Der Code hinter dem / ergibt 0 und darf nicht 0 ergeben.
Dieses Codefragment ist:
EventList("Total run time").lngPreviousRunTime
Was dies sagen soll, ist nicht nur für dich sondern für alle Betrachter dieses Threads nicht offensichtlich.
Was ist die intelligente Reaktion auf nicht-offensichtliche Phänomene?
Der Versuch das Phänomen auf kleinere Einheiten zu zerlegen, diese zu verstehen und dann evtl. zu einem Gesamtverständnis zu gelangen.
Eine naive Möglichkeit damit umzugehen ist:
Dim divider as Long
divider = EventList("Total run time").lngPreviousRunTime
if divider = 0.0 then
print "divider darf nicht 0 sein"
exit sub (oder exit function)
end if
GetAllWatchValues = GetAllWatchValues & Format$(ReportRowArray(intCount).lngRunTime / divider, "000.0%") & " "
Als nächstes kannst du den Code studieren und dir überlegen, warum EventList("Total run time").lngPreviousRunTime den Wert 0 ergibt. Und vermutlich findest du einen Weg, die Klasse so zu nutzen, dass dieser Fall unter keinen Umständen auftritt.
nicht schwer
Axel