lsi_info

lsi_info

Messagepar oguruma » 30 Mai 2006 à 20:15

on voit souvent dans certains codes des procédures de gestion de messages d'erreur où il est noté en dur le nom de la fonction ou de sub qui s'est plantée
or bien souvent quand on est amené à renommer la fonction on oublie de renommer celle-ci dans le paragraphe de gestion d'erreur

or il y a un moyen très simple pour éviter de renommer à chaque fois... c'est d'utiliser lsi_info(2) comme par exemple
msgbox "Erreur n° " & err & " : " & error$ & " à la ligne " & erl,16, lsi_info(2)

ainsi on ne soucie plus du nom de la fonction ou de la sub

lsi_info disposent d'autres paramètres :

Lsi_info(1) ' Current line number (in the LS source)
Lsi_info(2) ' The current function or sub
Lsi_Info(3) ' The current module
Lsi_Info(6) ' The version of LotusScript running
Lsi_Info(9) ' Current language (en for english)
Lsi_Info(12) ' The name of the function that called this one, "the caller"
Lsi_info(50) ' LotusScript Memory Allocated
Lsi_info(51) ' LotusScript Memory Allocated from OS
Lsi_info(52) ' LotusScript Blocks Used
Bien à vous

http://www.dominoarea.org/oguruma/

Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci

Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)
Avatar de l’utilisateur
oguruma
Super V.I.P.
Super V.I.P.
 
Message(s) : 4086
Inscrit(e) le : 16 Déc 2004 à 08:50
Localisation : LILLE

Messagepar Stephane Maillard » 31 Mai 2006 à 09:15

Salut,

Tout simplement excellent encore une fonction non documentée chez Lotus.
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Messagepar oguruma » 02 Juin 2006 à 20:26

tu ne connaissais pas ? oh ?
Bien à vous

http://www.dominoarea.org/oguruma/

Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci

Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)
Avatar de l’utilisateur
oguruma
Super V.I.P.
Super V.I.P.
 
Message(s) : 4086
Inscrit(e) le : 16 Déc 2004 à 08:50
Localisation : LILLE

Messagepar JYR » 05 Juin 2006 à 18:11

En fait , c'est la fonction getThreadInfo sous R6. Je l'ai utilisé et ça fonctionne tempête!



GetThreadInfo (Dim InfoID as Integer)
Elements
InfoID
Information to be returned
Return values
Data
A variant containing the information to be returned.
Usage
Pass any of the LSI_ constants from the table below to GetThreadInfo to have it return the current value of that constant.
Code Meaning
LSI_THREAD_LINE Current Line Number
LSI_THREAD_PROC Name of current procedure
LSI_THREAD_MODULE Name of current module
LSI_THREAD_VERSION LotusScript version number
LSI_THREAD_LANGUAGE (Human) language setting
LSI_THREAD_COUNTRY Country or region setting
LSI_THREAD_TICKS Get current clock ticks
LSI_THREAD_TICKS_PER_SEC Get clock ticks per second (supported only on platforms that support parallel processing primitives)
LSI_THREAD_PROCESS_ID Get current process ID (supported only on platforms that support parallel processing primitives)
LSI_THREAD_TASK_ID Get current task ID (supported only on platforms that support parallel processing primitives)
LSI_THREAD_CALLPROC Get the name of the calling procedure
LSI_THREAD_CALLMODULE Get the name of the calling module


JYR
Avatar de l’utilisateur
JYR
Empereur des posts
Empereur des posts
 
Message(s) : 1573
Inscrit(e) le : 10 Jan 2005 à 14:47
Localisation : Quebec

Messagepar oguruma » 05 Juin 2006 à 20:26

oui en effet... j'avais vu... mais quand on a ses habitudes...
lsi_info est utilisable depuis la V4..
pourquoi ne l'on-t-il pas mise sous sa forme originale.... :?
Bien à vous

http://www.dominoarea.org/oguruma/

Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci

Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)
Avatar de l’utilisateur
oguruma
Super V.I.P.
Super V.I.P.
 
Message(s) : 4086
Inscrit(e) le : 16 Déc 2004 à 08:50
Localisation : LILLE

Messagepar Thothem » 07 Juin 2006 à 15:32

Lsi_info(14)

Retourne la pile des appels de procedures

A ma connaissance, il n'y a pas d'équivalent dans Getthreadinfo
Packagé dans une chtite classe (je finalise), ça permet de créer des belles StackTrace à la Java.
Thothem
Premier posts
Premier posts
 
Message(s) : 36
Inscrit(e) le : 17 Jan 2006 à 16:11

Messagepar oguruma » 07 Juin 2006 à 20:19

J'ai un dév en cours... ça m'intéresserait ta classe...
je termine celle sur le parsing text c'est en cours de test.. ça fonctionne déjà pas mal
Bien à vous

http://www.dominoarea.org/oguruma/

Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci

Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)
Avatar de l’utilisateur
oguruma
Super V.I.P.
Super V.I.P.
 
Message(s) : 4086
Inscrit(e) le : 16 Déc 2004 à 08:50
Localisation : LILLE

Messagepar abertisch » 23 Nov 2006 à 09:21

J'avais développer une gestion d'erreur en utilisant Lsi_info(2)

A mettre tout en haut de votre code:

Code : Tout sélectionner
On Error Goto HandleError


A mettre tout à la fin:

Code : Tout sélectionner
Exit Sub
HandleError:   
   Call ShowError(Lsi_info(2))
   Resume ExitHandleError
ExitHandleError:   
End Sub


A mettre dans la librairie de script:

Code : Tout sélectionner
Sub ShowError(Lsi12 As String)
   
   Dim fromerror As String
   Dim sessionidname As New NotesSession
   Dim agent As notesagent
   Set agent = sessionidname.CurrentAgent
   
   If Not agent Is Nothing Then
      ' C'est une erreur dans un agent
      fromerror =" agent '"& sessionidname.CurrentAgent.name+"'"
   Else
      Dim wks As New NotesUIWorkspace
      ' c'est une erreure dans un document
      If Not wks.currentdocument Is Nothing Then
         fromerror=" form '"+wks.CurrentDocument.Document.form(0)+"'"
      Else
         fromerror=" view '"+wks.CurrentView.ViewName+"'"
      End If   
   End If
   Dim caller As String
   caller = ""
   If Lcase(Lsi_info(12))<>Lcase(Lsi12) Then
      caller = " (Called by: " & Lsi12 &") in "
   End If
   
   Msgbox("Function " & Lsi_info(12) & _
   caller+fromerror+" generated [" &  Error$& "] in line: " & Erl )
End Sub


Code : Tout sélectionner
Sub validation(value As Variant,ErrorMessage)
   
   If value Is Nothing Then
      Error 5000,ErrorMessage
   End If
   
   
End Sub
abertisch
Roi des posts
Roi des posts
 
Message(s) : 763
Inscrit(e) le : 25 Oct 2006 à 13:51
Localisation : Suisse

Messagepar afournery » 20 Avr 2007 à 16:00

comment avoir le nom du module LSI_THREAD_CALLMODULE

il me retourne une valeur Hex
cdt,
Arnaud FOURNERY
http://afournery.free.fr
Avatar de l’utilisateur
afournery
Maître-posteur
Maître-posteur
 
Message(s) : 474
Inscrit(e) le : 24 Juin 2005 à 08:20
Localisation : Annesse et Beaulieu (24)

Messagepar JYR » 20 Avr 2007 à 16:21

Moi, j'utilise ceci:

http://www.openntf.org/Projects/pmt.nsf ... up/OpenLog

une base centrale à déployer

Par la suite, une bibliothèque de scripts dans les bases à gérer et les appels à cet bibliothèque pour notifier des erreurs ou des événements.

JYR
Avatar de l’utilisateur
JYR
Empereur des posts
Empereur des posts
 
Message(s) : 1573
Inscrit(e) le : 10 Jan 2005 à 14:47
Localisation : Quebec


Retour vers Gestion des erreurs