Getthreadinfo vervangt Lsi_info

Een van de dingen die ik mij zelf heb aangeleerd bij het maken van een applicatie is altijd gebruik te maken van een duidelijke foutafhandeling.

Meestal wordt dat iets als:

Function doeDingen() As Boolean
On Error Goto ErrorHandler
‘Hier komt de code ….

Exit Function
ErrorHandler:
MsgBox Lsi_info(2) & ” : Error ” & Error & ” (” & Err & “) on line ” & Erl & “.”
Exit Function
Resume Next
End Function

Lsi_info was in de vroegere versies van Lotus Notes eigenlijk de enige methode om informatie te krijgen over de huidige thread.

Een aantal regelmatig gebruikte gegevens waren:

Lsi_info(1) ‘Huidige regel in de Lotusscript Source Code
Lsi_info(2) ‘Huidige functie of sub
Lsi_info(3) ‘Huidige module
Lsi_info(6) ‘LotusScript versie
Lsi_info(9) ‘ Taal code
Lsi_info(11) ‘Totaal aantal code regels van de huidige module
Lsi_info(12) ‘Naam van de aanroepende functie of sub
Lsi_info(13) ‘Naam van de aanroepende module
Lsi_info(14) ‘Lijst van alle modules die aangeroepen zijn tot dit moment
Lsi_info(50) ‘ LotusScript Geheugen gealloceerd
Lsi_info(51) ‘LotusScript Geheugen gealloceerd van het besturingssysteem
Lsi_info(52) ‘LotusScript geheugen blokken in gebruik

IBM beweerd echter dat Lsi_info niet gebruikt mag worden omdat dit alleen bedoeld is voor intern gebruik en mogelijk voor een instabiel systeem kan zorgen.
Daarom heeft men in de meer recentere versies van Notes een nieuwe methode ter beschikking gesteld namelijk: GetThreadInfo
De aanbevolen schrijfwijze zou dan ook worden:

Function doeDingen() As Boolean
On Error Goto ErrorHandler
‘En hier komt de code weer ….

Exit Function
ErrorHandler:
Msgbox Getthreadinfo(1) & ” : Error ” & Error & ” (” & Err & “) on line ” & Erl & “.”
Exit Function
Resume Next
End Function

De aanroepen die ondersteund worden zijn:

Getthreadinfo(0) ‘LSI_THREAD_LINE Huidige regel in de Lotusscript Source Code
Getthreadinfo(1) ‘LSI_THREAD_PROC Huidige functie of sub
Getthreadinfo(2) ‘LSI_THREAD_MODULE Huidige module
Getthreadinfo(3) ‘LSI_THREAD_VERSION LotusScript versie
Getthreadinfo(4) ‘LSI_THREAD_LANGUAGE Taal code
Getthreadinfo(5) ‘LSI_THREAD_COUNTR Regionale instelling
Getthreadinfo(6) ‘LSI_THREAD_TICKS Get current clock ticks
Getthreadinfo(7) ‘LSI_THREAD_TICKS_PER_SEC Get clock ticks per second (supported only on platforms that support parallel processing primitives)
Getthreadinfo(8) ‘LSI_THREAD_PROCESS_ID Get current process ID (supported only on platforms that support parallel processing primitives)
Getthreadinfo(9) ‘LSI_THREAD_TASK_ID Get current task ID (supported only on platforms that support parallel processing primitives)
Getthreadinfo(10) ‘LSI_THREAD_CALLPROC Naam van de aanroepende functie of sub
Getthreadinfo(11) ‘LSI_THREAD_CALLMODULE Naam van de aanroepende module

Delen op