Domino 9 und frühere Versionen > ND6: Entwicklung

Timer

<< < (3/3)

andrew22:
GetAllWatchValues = GetAllWatchValues & Format$(ReportRowArray(intCount).lngRunTime / EventList("Total run time").lngPreviousRunTime, "000.0%") & "   "
         
Diese Zeile ist es die beim debug zurück kommt als fehler sozusagen.

ascabg:
Und was stehen in den einzelnen "Variablen" fuer Werte?

ReportRowArray(intCount).lngRunTime = Wert ?
EventList("Total run time").lngPreviousRunTime = Wert ?

Andreas

andrew22:
Was sagen euch diese beiden Ergebnisse ?


seconds     %        calls     secs/call   event
===========================================================================
00000,080   100,0%   0000001   00000,080   Total run time
00000,080   100,0%   0000001   00000,080   Do_QueryWebOpen


seconds     %        calls     secs/call   event
===========================================================================
00000,060   100,0%   0000001   00000,060   Total run time
00000,050   083,3%   0000001   00000,050   Do_QueryWebOpen


koehlerbv:
Nichts. Sie haben mit Deinen Fragen wegen "division by zero" gar nichts mehr zu tun.
Ergo: Bitte eine beantwortbare Frage.

Bernhard

flaite:
Imho bist du an irgendeinem Punkt gedanklich blockiert.
Das ist nur menschlich.

Also.
Der Computer signalisiert auf diesen Code-Abschnitt:

--- Code: ---GetAllWatchValues = GetAllWatchValues & Format$(ReportRowArray(intCount).lngRunTime / EventList("Total run time").lngPreviousRunTime, "000.0%") & "   "

--- Ende Code ---
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:

--- Code: ---EventList("Total run time").lngPreviousRunTime

--- Ende Code ---
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:

--- Code: ---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%") & "   "

--- Ende Code ---

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

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln