Hej! Får se om det är denna princip du är ute efter.Så här har jag gjort. Hej! Tror inte det finns något "enkelt" sätt att plocka ut namnet på funktionen. Funktionsnamn är ju bara något som finns i källkoden. Namnet på funktionen behövs ju inte efter kompilering. Har du kollat in HuntERR addin http://www.urfinjus.com/UJv3/prodvb6/hunterr.aspx. Visserligen läser det inte vilken sub som körs men det har bra hjälp för att generera felkoden och att ta hand om den på olika sätt med info om aktuell sub/funktion, eventuella anropsparametrars värden mm.Varibel för aktuell sub
Jag håller på att skapa en logg fil och undrar om man via en systemvariabel kan få reda vilken sub eller function som felet uppstog i typ som me.name ger ju formulärets namn
eller bara få reda vilken aktuell sub som körs
/tyronneSv: Varibel för aktuell sub
Jag har bla en Sub som heter SQLPlott() om det blir fel i den så blir det
ett anrop till Sub LoggError() som skriver till Logfil.
<code>
'..............
'.............
SQLPlottOk:
Exit Sub
SQLPlottError:
Call LoggError("Fel i SQLPlott " & Str$(Err))
On Error GoTo 0
Resume SQLPlottOk
End Sub
Private Sub LoggError(ByVal meddelande As String)
Dim FileNum As Long, msg As String
msg = Format$(Date, "yy-mm-dd") & _
vbCrLf & meddelande
FileNum = FreeFile
Open SearchPath & "FonderLogg.log" For Append As FileNum
Print #FileNum, msg
Close #FileNum
End Sub
</code>Sv:Varibel för aktuell sub
Om jag förstod din kod rätt så skriver du manuellt ut vilken sub felet kommer i från. Jag var ute efter om det finns någon variabel, function i VB mm där man kan se vilken sub/function som körs.
Ex
<code>
Private sub Test()
On Error GoTo ErrHandler
Exit Sub
Errhandler:
' Skriver till errloggen Error nummer, Beskrivning, Formulär, Sub/function
PrintLog Err.Number, Err.Description, me.Name, (ex:Err.Sub)
End Sub
</code>
Detta av ren lathet för jag skall bygga ett ganska stort program och ville kunna klistra in errkoden där jag vill ha den utan att behöva göra förändringar i den. OCh då vill jag kunna plocka ut vilken rutin som körs.
/Tyronne
End SubSv: Varibel för aktuell sub
Det finns verktyg/plug-ins som kan hjälpa dig skriva och underhålla din felkod. Det tror jag är bästa alternativet för större projekt. Sv: Varibel för aktuell sub
Har själv använt det i något VB projekt och tyckte det fungerade bra.